当前位置: 首页 > news >正文

【LeetCode 手撕算法】(细节知识点总结)

一、Array类List类

1、排序Arrays.sort(nums); Array要加s

2、ArrayList<Integer> maxlist = new ArrayList<>(); ArrayList里面两个大写

3、数组固定不变用 .length,ArrayList可变用 .size()

4、ArrayList 访问下标用 .get(i) ,数组才可以直接arr[i]

5、Math.min() 和 Math.max() 可以直接求数值intlongfloatdouble的较大较小值

6、添加: 将元素以List形式存进res列表,res.add()

7、Arrays.equals(hashS,hashP) 比较两hash串是否相等,用于判断是否为异位词

比较地址内容用 a.equals(b) 比较数组内容用Arrays.equals(a,b)

8、Arrays.fill(ans,1); 将ans全部设置为1,Arrays不忘s

二、返回值类

1、return new int [ ] { l,r} 为新建一个int数列,值为l,r 结果为 [ l ,r ]

2、return new int [ 0 ] 指返回长度为0的int数列。不能直接返回 null,否则会出现 NullPointerException错误

三、定义类

1、int i=0,j=0; 需要分开定义,不能是int i,j=0;

2、开头为void,则不需要返回值;

3、如果定义为 int [ ] nums,则直接返回 return nums;

4、List<List<Integer>> res = new ArrayList<>()

存多组结果的二维表 例:[[1,2], [3,4,5]]

5、Set<Character> win=new HashSet<>() 定义集合类

6、int minprice=Integer.MAX_VALUE;//默认最大值,正无穷

四、string类char类

1、char[]ch= s.toCharArray(); //把string变成char

2、win.contains(xxx) 判断win里是否包含xxx,拼写别忘了s

3、String类型用.length()算长度,数组用.length,集合用 .size()

4、获取元素用charAt( ) , 截取用substring( i, j )

五、数组类

1、注意二维数组排序写法格式 intervals,(arr1,arr2)->arr1[0]-arr2[0]

2、 ans.add ( new int [ ] { left,right } 意思:新建含left,right的数组,动态存入ans

六、链表类

1、比较两节点是否相等,用per.val 和slow.val

2、新建ListNode类集合Set <ListNode> visited=new HashSet<ListNode>()

3、set . add(xxx)为true即集合未出现过(添加的同时返回true),为false即出现过。

4、遍历类的要用其他节点来接头节点,头节点保持不动 方便之后再使用

5、二维链表操作.get() .add() 、.get() .get()

七、队列类(BFS广度优先使用、是否有环)

1、Queue<int[]> queue = new LinkedList<>();

2、get.(x).add(y)根据x层存y数据

3、queue.offer(1) 入队--加入队尾

4、queue.poll() 出队--去掉队头

5、queue.peek() 看队头

6、queue.size() 队列元素个数

7、queue.isEmpty() 判断是否为空

八、操作汇总

数组用 .length 字符串用 .length() 集合用size.() ;

添加: List用add( ) , StringBuilder用append.( ) ;

删除: List用remove( ) , StringBuilder用deleteCharAt.( ) ;
要求O(log n)查找,用二分查找,左右指针求mid

九、栈

自动装箱:Integer有可能为null,可以存进栈里;取出来时如果用int来接,会报错int不能为null

http://www.cnnetsun.cn/news/3273157.html

相关文章:

  • 如何构建自进化企业级 Agent 平台
  • 浏览器自动化_agent-browser
  • OpenClaw基础学习
  • 2026年房地产动画行业观察
  • 前端 CDN 缓存策略调优:静态资源、HTML 与 API 分层设计
  • The Impact of Image Resolution on Biomedical Multimodal Large Language Models
  • 【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
  • 香港虚拟资产双轨监管观察:从 MSO 到 VA OTC 的制度演变
  • 三星AI眼镜Galaxy Glasses技术解析:1200万像素摄像头与光致变色镜片的开发实践
  • Claude Code 100个真实案例 - 用AI搭建爬虫数据采集平台(自动翻页+反反爬)
  • 郑州城市职业学院参编清华教材背后的育人突围之路
  • 【Ambari Plus】15.Livy 安装
  • AI 接手一个项目之前,先给它一张可验证的上下文包
  • hive 学习笔记5——hive常用操作(日常短篇练习应用)
  • Claude Code 高级玩法:工作流编排、Token 优化与团队协作
  • M365 Copilot数据访问边界管控实战:基于Microsoft Purview的DSPM落地
  • 专访统丽学子邸斯|勇夺 Nailympia 国际美甲大赛金奖,以指尖艺术奔赴时尚美学之路
  • Python新手最容易踩的10个隐式坑,我刚工作时踩了一半,直接导致线上数据统计出错
  • AI 生图会替代设计师吗?更现实的答案是辅助创意沟通
  • claude code 接入deepseek-v4 pro或者flash模型
  • Python学习小记-类的引用,python下载的依赖管理
  • 【Atlas】 Spark SQL 的执行计划(LogicalPlan/PhysicalPlan)能否被 Atlas 捕获?社区有哪些集成方案?
  • ADP5350与PIC18F85J50嵌入式电源管理方案详解
  • AI 习惯追踪的反馈设计:鼓励不是堆砌赞美,而是记录可见进步
  • 2026年免疫细胞存储行业现状与用户关注方向解析
  • 使用LocalDate和LocalDateTime接收日期时间
  • elasticsearch学习笔记(三十五)——Elasticsearch 索引管理
  • 5分钟打造你的专属知识中心:Obsidian Homepage完全指南
  • Go error 处理:errors.Is/As 与错误包装
  • 【小白也能轻松玩转龙虾】虾壳云一键部署一站式操作,下载解压启用 OpenClaw v2.7.9(附最新安装包)