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

工具分享

画图

  • 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.mzph.cn/news/704837.shtml

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

相关文章

Springboot应用执行器Actuator源码分析

文章目录 一、认识Actuator1、回顾Actuator2、Actuator重要端点 二、源码分析1、Endpoint自动装配&#xff08;1&#xff09;自动配置入口&#xff08;2&#xff09;普通Endpoint自动装配&#xff08;3&#xff09;配置Web - Endpoint&#xff08;4&#xff09;注册Endpoint为M…

vue_pdf,word,excel,pptx等文件预览

项目背景&#xff1a;vue3elementPlusvite 1.pdf 1.1 iframe预览 #toolbar0 拼接到src后&#xff0c;可隐藏iframe顶部的工具栏 <template><div class"viewPDF.vue"><uploadFile file"getFile" accept".pdf,.PDF" ></up…

redis八股

文章目录 数据类型字符串实现使用场景 List 列表实现使用场景 Hash 哈希实现使用场景 Set 集合实现使用场景 ZSet 有序集合实现使用场景 BitMap实现使用场景 Stream使用场景pubsub为什么不能作为消息队列 数据结构机制SDS 简单动态字符串压缩列表哈希表整数集合跳表quicklistli…

【已解决】UE5 plugin ‘xxx‘ failed to load because module ‘xxx‘ could not be found.

运行unrealeditor-cmd跑commandlet的时候遇到如下报错&#xff1a; plugin ‘xxx’ failed to load because module ‘xxx’ could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project. 解决方案 重编…

Hadoop-Yarn-NodeManager是如何监控容器的

一、源码下载 下面是hadoop官方源码下载地址&#xff0c;我下载的是hadoop-3.2.4&#xff0c;那就一起来看下吧 Index of /dist/hadoop/core 二、上下文 在我的博客<Hadoop-Yarn-NodeManager是如何启动容器的>中的ContainerLaunch prepareForLaunch()会触发Containe…

vue3+electron开发桌面应用,静态资源处理方式及路径问题总结

1、静态资源放到src/assets/目录下 静态资源,例如图片、静态的JSON文件、视频、CSS等等,放到src/assets目录下。 不然会很蛋疼,这个坑我踩过了。切记,切记!! 以下是CHATGPT-4 Turbo的回答: 在 Vue 应用程序中,src/assets 目录确实有特别的处理。当你使用 Vue CLI 创…

每日五道java面试题之spring篇(七)

目录&#xff1a; 第一题. 什么是Spring beans&#xff1f;第二题. 一个 Spring Bean 定义 包含什么&#xff1f;第三题. 如何给Spring 容器提供配置元数据&#xff1f;Spring有几种配置方式?第四题. Spring基于xml注入bean的几种方式?第五题&#xff1a;你怎样定义类的作用域…

acwing算法提高之搜索--多源BFS与双端队列BFS

目录 1 专题说明2 训练 1 专题说明 本专题用来计算使用多源BFS和双端队列BFS求解的题目。 2 训练 题目1&#xff1a;173矩阵距离 C代码如下&#xff0c; #include <iostream> #include <queue> #include <cstring>using namespace std;const int N 101…

【USENIX论文阅读】Day2

Birds of a Feather Flock Together: How Set Bias Helps to Deanonymize You via Revealed Intersection Sizes&#xff08;"物以类聚&#xff1a;集合偏差如何帮助去匿名化——通过揭示交集大小&#xff09; Xiaojie Guo, Ye Han, Zheli Liu, Ding Wang, Yan Jia, Jin L…

thinkphp6定时任务

这里主要是教没有用过定时任务没有头绪的朋友, 定时任务可以处理一些定时备份数据库等一系列操作, 具体根据自己的业务逻辑进行更改 直接上代码 首先, 是先在 tp 中的 command 方法中声明, 如果没有就自己新建一个, 代码如下 然后就是写你的业务逻辑 执行定时任务 方法写好了…

速盾网络:CDN原理是什么意思啊

CDN&#xff08;内容分发网络&#xff09;是一种网络架构&#xff0c;旨在提高网站的性能、可用性和安全性。它通过在全球范围内部署服务器节点&#xff0c;并将内容存储在这些节点上&#xff0c;以缓解服务器负载、减少用户访问延迟&#xff0c;从而改善用户体验。那么&#x…

ConvNeXt V2:用MAE训练CNN

论文名称&#xff1a;ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders 发表时间&#xff1a;CVPR2023 code链接&#xff1a;代码 作者及组织: Sanghyun Woo&#xff0c;Shoubhik Debnath来自KAIST和Meta AI。 前言 ConvNextV2是借助MAE的思想来训练…

cv2.warpAffine和F.grid_sample转换关系

个人笔记&#xff1a; Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

【Kubernetes】部署安装 K8s 为什么要关闭 swap 分区?

目录 swap部署安装 K8s 为什么要关闭 swap 分区&#xff1f; swap 关于什么是swap以及swap有什么用&#xff0c;可以看看这篇文章&#xff1a;Linux 的交换空间&#xff08;swap&#xff09;是什么&#xff1f;有什么用&#xff1f; 部署安装 K8s 为什么要关闭 swap 分区&…

【学习笔记】WOS导出Endnote参考文献步骤

从 Web of Science 导出文献到 EndNote 的基本步骤如下&#xff1a; 访问 Web of Science 数据库&#xff1a; 通过所属学术机构的图书馆网站访问 Web of Science&#xff0c;大多数情况下需要校园网络或VPN。 进行文献检索&#xff1a; 在 Web of Science 中进行关键词搜索&am…

【PyTorch][chapter 18][李宏毅深度学习]【无监督学习][ VAE]

前言: VAE——Variational Auto-Encoder&#xff0c;变分自编码器&#xff0c;是由 Kingma 等人于 2014 年提出的基于变分贝叶斯&#xff08;Variational Bayes&#xff0c;VB&#xff09;推断的生成式网络结构。与传统的自编码器通过数值的方式描述潜在空间不同&#xff0c;它…

排序(9.17)

1.排序的概念及其运用 1.1排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记…

实战 vue3 使用百度编辑器ueditor

前言 在开发项目由于需求vue自带对编辑器不能满足使用&#xff0c;所以改为百度编辑器&#xff0c;但是在网上搜索发现都讲得非常乱&#xff0c;所以写一篇使用流程的文章 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、下载ueditor编辑器 一个“…

三数之和(哈希,双指针)

15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; 方法1&#xff1a;哈希算法&#xff08;不推荐&#xff09; 缺点&#xff1a;时间复杂度O&#xff08;N^2&#xff09;&#xff0c;去重情况复杂 class Solution { public:vector<vector<int>> threeSum(ve…

【Java EE初阶二十五】简单的表白墙(一)

1. 前端部分 1.1 前端代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…