我的算法学习之路
记录常见的算法使用技巧
xj1122_123
这个作者很懒,什么都没留下…
展开
-
数组遍历的算法技巧总结
这种问题的难度是如何穷举Value,有时候题目会明确指定 例如英文字母(26个),英文字符(128个),或者直接告知value的范围。如果要使用O(N)的时间复杂度 做到,则必须想到分析N的取值范围,索引反转,并且使用原数组保存反转索引的数组。索引反转是一种特殊的数据结构,不能算是一个算法,通常用来辅助其他算法,降低时间复杂度的,例如。1.先建立长度为value最大可能取值个数的value[],数组的默认值填充一个-1。3.2.假定当前遍历到的位置总是满足条件的最优解,并基于当前的最优解,做出最优选择。原创 2024-08-18 20:46:56 · 1449 阅读 · 0 评论 -
数学-最大公约数gcd算法
循环中止条件是 large%less==0,取模等于0,代表可以除尽(倍数关系)。然后从大往小开始寻找公约数。实践中,关键的是如何将实际问题转为基于数字的最大公约数问题。1.非递归版本(数字太大时递归会超出栈最大值)原创 2024-08-18 18:56:47 · 292 阅读 · 0 评论 -
数组遍历-贪心算法
2.假定当前遍历到的位置总是满足条件的最优解,并基于当前的最优解,做出最优选择。3.持续这样做直到进入结束状态 ,有时候判断是否到结束状态也是很需要技巧的。例如 找面积最大的区域从两头遍历。1.从最优的一种情况开始 或者从0开始。原创 2024-08-18 18:42:03 · 245 阅读 · 0 评论