
算法
文章平均质量分 64
人良爱编程
一个爱记录的人:poolbee.top
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[leetcode]704.二分查找-简单
举例:比如数组为[10, 20, 30, 40],目标值为25。这时候二分法在查找过程中,中间元素是20或30,然后继续查找,直到循环结束,未找到,返回-1。因为如果nums数组,如果只有一个元素,那么left和right都指向同一个元素,那么让left = mid后,left的值还是没有改变,陷入死循环。如果所有条件都不满足,那么说明target是属于头尾数组元素范围之内,但不属于数组中的任何一个元素,所以返回-1。如果在确定mid的时候,测试集的nums数组元素过大,会出现超过int范围问题。原创 2025-03-04 19:34:35 · 314 阅读 · 0 评论 -
冒泡算法的思路及改进
来判断本次是否进入了if(),若进入了,进行if(sorted),继续执行外循环遍历短了一次的数组;若本次未进入,则代表此次的遍历的元素的后方元素都是大于它的,继续执行外循环遍历短了一次的数组;之后要让所有元素都排序,需要每次排序的长度递减,array.length是在不断变化的。增加一个boolean类型的sorted,假定本次对前面的元素比较都是升序的。理解数组长度为n是的下标[0]和for循环次数和<、<=,>、>=之间的关系。增加for循环,进行递减。原创 2023-11-18 18:29:03 · 263 阅读 · 1 评论 -
排序算法的稳定性(Stability)和原地算法(In-place Algorithm)
排序前:5,1,3a,4,7,3b稳定的排序:1,3a,3b,4,5,7不稳定的排序: 1,3b,3a,4,5,7相对位置保持不变。原创 2023-11-18 18:25:05 · 284 阅读 · 1 评论 -
一个关于鸡的基础算法——穷举法(枚举法)心得
介绍了算法入门篇的基础数学问题,对最大公约数(欧几里得算法),百钱百鸡问题,完美立方等式的应用问题,做了基本介绍和提出了解决方法和心得体会。可以给刚入门算法的同学提供解决问题的思路,欢迎大家交流。 对于穷举法(枚举法)最常用的是for循环嵌套方法,通过四个问题的求解,也让我对时间复杂度的了解更加深入,将从以下两个问题来解释:1.为什么不使用时间单位来表示时间复杂度?答:时间复杂度的表示是没有用任何具体的单位时间来表示的;原创 2023-04-09 20:08:16 · 535 阅读 · 0 评论