代码随想录|学习工具分享

news2024/12/24 18:20:53

工具分享

画图

  • https://excalidraw.com/
    大家平时刷题可以用这个网站画草稿图帮助理解!如果看题解很蒙或者思路不清晰的时候,跟着程序处理流程画一个图,90%的情况下都可以解决问题!

数据结构可视化

  • https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
    数据结构和算法可视化可以看这个网站,还可以互动添加元素等,非常直观让你快速理解!
  • https://oi-wiki.org/ds

数据结构的百科全书,除了基础的数据结构外还有很多进阶的内容,学有余力的同学可以尝试成为OI佬。

java 相关 api

  • https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html
    这是Java的Deque容器的官方文档,这个容器非常重要,作为Java选手一定要牢牢掌握。他是一个双端队列,常用来当栈和队列使用,api也是非常丰富,刷题过程中出现频率很高!之后就是关于看文档的问题,大家遇到api不清楚的情况下第一时间要学会去看官方文档,这是第一手资料,往往是最准确的,包括大家之后工作中遇到问题也要养成这种能力,还有阅读英文文档的能力。

力扣插件

    1. https://github.com/zhang-wangz/LeetCodeRating 可以显示题目难度对应的leetcode周赛难度分(如果这道题曾经在周赛中出现过)
    2. https://github.com/XYShaoKang/refined-leetcode 可以帮助记录做题时间,打开做题页面就会开始计时,这样可以帮助大家知道解出这题花费了多久,也可以更合理地安排时间
    3. VSCode的力扣插件可以不用开会员进行断点调试,大家要学会自己有debug的能力
      1. img

本地 IDE Intelli 中优雅的刷题方式

https://blog.csdn.net/BuleFACE_Zhang/article/details/135856136?utm_source=miniapp_weixin

各语言常碰到的问题汇总

c++

  • c++ 中文参考手册

  • C++函数指针与仿函数:自定义排序规则 关于C++的一些自定义排序规则方法

  • 遇到看不懂的方法的时候(C++),可能是宏定义, 方法本身就是一个 宏定义,所以要找到定义他的地方,这种项目的代码 估计宏定义满天飞,如果没有好的文档,代码很难看

  • 自增自减运算符只能用于变量;不能用于常量和表达式。

  • 在使用map容器存储多个键值对时,容器会自动根据键值对的键大小,按照既定的规则进行排序(默认升序,可以自定义)

  • 使用map存储的键值对,键既不能重复也不能修改

  • multimap和map的区别在于multimap容器可以同时存储多个键相同的键值对

  • c++很多容器都有find(x)函数:在容器中查找x值,如果找到则返回指向该值的迭代器,否则返回和end()方法结果一样的迭代器

  • 优先队列(priority_queue) 是在队列的基础上添加了内部的排序,本质上是一个堆来实现的;其提供的函数和队列的操作基本相同
    声明:priority_queue<Type, Container, Funcitonal>
    其中,Type指数据类型, Container指容器类型(必须是数组实现的容器,如vector,deque,不能是list。STL中默认是 vector),Functional 指比较的方式,当需要用自定义的类型时才需要传这三个参数,使用基本数据类型时,只需要传入数据类型即可,默认构造是大顶堆
    一般构造为:

    • 小顶堆 priority_queue<int, vector, greater> heap;
    • 大顶堆 priority_queue 或者 priority_queue<int, vector, less> heap;
    • greater 和 less 是 std 实现的两个仿函数(即使一个类的使用看上去像一个函数,其实现是类中实现一个operator(),这个类就有了类似函数的行为)
    • 对于 pair 类型,比较时候先比较第一个元素,第一个相等再比较第二个
  • 注意 迭代器不能与NULL做比较

  • 常用的字符串拼接方式有三种:1. 直接用”+“拼接后在赋给对应值,2. “+=",3. string中的append方法,那么这三种方法有什么区别,效率如何?
    “+=“和append方法效率远远高于”+”,因为”+“在每次拼接后会在 内存Q中创建一个新对象,然后将拼接后的字符串赋值给新对象,频繁的创建对象与拷贝消耗了大量时间。而”+="和append每次直接在原字符串进行拼接,直到字符串capacity不够时,才重新分配空间(需要一次对象创建和拷贝)。

  • 关于c的&, 建议大家好好看一下c中&的用法, 加了跟没加主要就是方法内部是否会改变本身, 也就是引用地址

  • 对于频繁插入的场景,C采用list进行插入提高速度(相比于vector),但需要注意C的list迭代器为双向迭代器,不是随机访问迭代器,只能一步一步移动

  • 注意:C++传入函数最好都使用引用,能够大大提高效率

  • c++中不加&会复制一份数组,加了是引用不用新建一个数组

  • c++在打比赛的时候有的时候会卡常数,有时候vector过不了数组能过

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1472895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java设计模式】一、工厂模式、建造者模式、原型设计模式

文章目录 1、简单工厂模式2、工厂方法模式3、抽象工厂模式4、建造者模式5、原型设计模式 设计模式即总结出来的一些最佳实现。23种设计模式可分为三大类&#xff1a; 创建型模式&#xff1a;隐藏了创建对象的过程&#xff0c;通过逻辑方法进行创建对象&#xff0c;而不是直接n…

逆序或者正序打印一个数的每一位数,递归实现(C语言)

从键盘上输入一个不多于5位&#xff08;包括5位&#xff09;的正整数&#xff0c;要求 &#xff08;1&#xff09;求出它是几位数&#xff1b;&#xff08;2&#xff09;分别输出每一位数字&#xff08;3&#xff09;按逆序输出各位数字 &#xff08;1&#xff09;求出它是几位…

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令&#xff1a; 主机状态监控命令 磁盘信息监控&#xff1a…

【MQ05】异常消息处理

异常消息处理 上节课我们已经学习到了消息的持久化和确认相关的内容。但是&#xff0c;光有这些还不行&#xff0c;如果我们的消费者出现问题了&#xff0c;无法确认&#xff0c;或者直接报错产生异常了&#xff0c;这些消息要怎么处理呢&#xff1f;直接丢弃&#xff1f;这就是…

深入理解计算机系统学习笔记

第三章 程序的机器级表示 3.2.1 机器级代码 对于机器级编程来说&#xff0c;其中两种抽象尤为重要。第一种是由捍令集体系结构或指令集架构&#xff08;Instruction Set Architecture, ISA)来定义机器级程序的 格式和行为&#xff0c;它定义了处理器状态、指令的格式&#xf…

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南 安装Anaconda或Miniconda&#xff1a; 首先&#xff0c;您需要从官方网站下载适用于ARM架构的Anaconda或Miniconda安装包。下载完成后&#xff0c;在终端中使用bash Anaconda3-2019.10-Linux-armv8.sh&#xff08;文件…

将仓库A中的部分提交迁移到仓库B中

结论&#xff1a; 使用git format-patchgit am即可实现 使用场景&#xff1a; 例如仓库A这里有5个提交记录&#xff0c;commitid1, commitid2, commitid3, commitid4&#xff0c;commitid5 仓库B想用仓库A中提交的代码&#xff0c;手动改比较慢&#xff0c;当改动较多的时候…

2.26 Qt day4+5 纯净窗口移动+绘画事件+Qt实现TCP连接服务+Qt实现连接数据库

思维导图 Qt实现TCP连接 服务器端&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer>//服务器端类 #include<QTcpSocket>//客户端类 #include<QMessageBox>//消息对话框类 #include<QList>//链…

2024-02-26(Spark,kafka)

1.Spark SQL是Spark的一个模块&#xff0c;用于处理海量结构化数据 限定&#xff1a;结构化数据处理 RDD的数据开发中&#xff0c;结构化&#xff0c;非结构化&#xff0c;半结构化数据都能处理。 2.为什么要学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架。 学…

实践航拍小目标检测,基于轻量级YOLOv8n开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

掌握ChatGPT润色绝技:什么是人工智能写作以及如何使用它来完成写作任务

如对AI写论文感兴趣&#xff0c;欢迎添加作者wx讨论 : ryan_2982 人工智能 (AI) 的出现开创了技术进步的新时代&#xff0c;彻底改变了包括写作和内容创作在内的各个行业。人工智能写作和人工智能提示已成为可以简化和增强写作任务的强大工具。在这篇博文中&#xff0c;我们将…

C++多线程学习09:并发队列

参考 链接&#xff1a;恋恋风辰官方博客 并发队列&线程安全栈 代码结构&#xff1a; 并发队列ThreadSafeQueue.h&#xff1a; #pragma once#include <mutex> #include <queue>template<typename T> class threadsafe_queue { private:mutable std::m…

深入理解Python中的JSON模块:基础大总结与实战代码解析【第102篇—JSON模块】

深入理解Python中的JSON模块&#xff1a;基础大总结与实战代码解析 在Python中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;模块是处理JSON数据的重要工具之一。JSON是一种轻量级的数据交换格式&#xff0c;广泛应用于Web开发、API通信等领域。本文将…

linux操作系统期末练习题

背景&#xff1a; 一、远程登录 1&#xff0e;利用远程登录软件&#xff0c;以用户userManager(密码123456)&#xff0c;远程登录教师计算机&#xff08;考试现场给出IP地址&#xff09;&#xff0c;只有操作&#xff0c;没有命令。 2&#xff0e;以stu班级学生个人学号后3位…

goland配置新增文件头

参考&#xff1a; goland函数注释生成插件 goland函数注释生成插件_goland自动加函数说明-CSDN博客 GoLand 快速添加方法注释 GoLand 快速添加方法注释_goland批量注释-CSDN博客 goland 如何设置头注释&#xff0c;自定义author和data goland 如何设置头注释&#xff0c;自定…

spring boot 集成科大讯飞星火认知大模型

一、安装依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/…

springboot003图书个性化推荐系统的设计与实现(源码+调试+LW)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的图书个…

SOLIDWORKS 查找并修复装配体配合错误

我们在SOLIDWORKS 正版软件进行装配体装配时&#xff0c;时常会出现一些报错&#xff0c;例如在配合、装配体特征或被装配体参考引用的零部件和子装配体中。一些常见的错误&#xff0c;如一个零部件的过定义会引发更多其他错误信息&#xff0c;并导致装配体停止解析配合关系。下…

RestTemplate启动问题解决

⭐ 作者简介&#xff1a;码上言 ⭐ 代表教程&#xff1a;Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容&#xff1a;个人博客系统 ⭐我的文档网站&#xff1a;http://xyhwh-nav.cn/ RestTemplate启动问题解决 问题&#xff1a;在SpringCloud架构项目中配…

汽车大灯尾灯划痕裂缝破洞破损掉角崩角等如何修复?根本没必要换车灯换总成,使用无痕修UV树脂胶液即可轻松搞定。

TADHE车灯无痕修复专用UV胶是一种经过处理的UV树脂胶&#xff0c;主要成份是改性丙烯酸UV树脂。应用在车灯的专业无痕修复领域。 车灯修复UV树脂有以下优点&#xff1a; 1. 快速修复&#xff1a;此UV树脂是一种用UV光照射在10秒内固化的材料。 2. 高强度&#xff1a;UV树脂固…