![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
kankeke
这个作者很懒,什么都没留下…
展开
-
快速排序java
1.循环时,先让右边的向左走。这样可以保证挪动基准位时不会把大的移到左边。2.一般把最左边当基准位。原创 2024-02-04 12:07:57 · 144 阅读 · 0 评论 -
本人java刷题时错过的地方
1.链表中存储的是引用而不是对象本身。2.this引用当前对象的实例。原创 2024-02-03 18:28:06 · 74 阅读 · 0 评论 -
回溯,剪枝
【代码】回溯,剪枝。原创 2024-02-03 16:16:33 · 122 阅读 · 0 评论 -
二分(算法)
参考。原创 2024-01-11 21:13:36 · 315 阅读 · 1 评论 -
双指针(算法)
常见分类:对撞指针、快慢指针。原创 2024-01-11 18:30:17 · 422 阅读 · 1 评论 -
java刷题中常用的集合和相关函数
4.HashMap中使用put(),若该key已存入,会更新value。HashSet中使用add(),若有对象有相同key,会判断是不是相同对象,不同会继续存,相同会返回false不存、1.HashMap中使用put()将元素加入map中,而HashSet使用add()将元素放入set中。3.HashMap不允许有重复的键,可以允许有重复的值。1.Map的getOrDefault()方法 ,可以在没有这个key时返回默认值。2.HashMap用于存储键值对,而HashSet用于存储对象。原创 2023-11-09 10:51:07 · 54 阅读 · 1 评论 -
滑动窗口(算法)
滑动窗口是一种用于处理数组或字符串中连续子序列的技巧。它通常用于解决涉及子数组或子字符串的问题,例如求取最长/最短的连续子序列,子序列满足某些条件等。基本思想是维护一个窗口,通过调整窗口的起始和结束位置,来找到满足特定条件的子序列。右边一直向前,左边根据情况判断是否向前(使用while简化过程)原创 2023-08-19 20:50:06 · 29 阅读 · 0 评论 -
图的广度优先搜索(算法)
1. 在图中,必须记录节点是否被访问,否则可能会陷入循环。2. 弹出第一个节点,对其进行处理(同时标记为已访问)3. 遍历其所有相连的节点,把未访问的放到队列后边。1. 新建一个队列,放入起始点。4. 重复23直到队列为空。原创 2023-08-04 19:43:40 · 37 阅读 · 1 评论 -
图的表示方法与深度优先搜索
使用二维数组,matrix [ i ][ j ] 表示从 i 到 j 的边,无向图通常会把matrix [ i ][ j ]和matrix [ j ][ i ]同时设置。邻接表使用一组链表来表示图的连接关系。对于每个顶点,都有一个与之相邻的顶点链表,这个链表存储与该顶点直接相连的边。原创 2023-08-03 22:54:46 · 33 阅读 · 0 评论 -
动态规划(算法)
动态规划是一种解决多阶段决策问题的优化方法。它通过将问题分解为多个子问题,并且通过解决子问题得到最优解。动态规划的核心思想是利用子问题的最优解来构建原问题的最优解。原创 2023-08-03 16:27:40 · 33 阅读 · 0 评论 -
单调栈(算法)
3.在插入时,先弹出大于等于(或小于等于)自己的数据,直到遇到第一个小于(或大于)自己的数据时停止,把自己插入栈中。2.在栈底放入(-1或0,max/min),来保证每一个数据都能正常弹出。1.通常使用pair(位置,数组)作为基本单位放进单调栈。4.二者的位置之差通常为所求。原创 2023-08-01 14:59:07 · 41 阅读 · 1 评论