概述
一, 哈希表使用(以空间换取速度) -->针对无序数组 (详见力扣1)
1,为了对运行时间复杂度进行优化,我们需要一种更有效的方法来检查数组中是否存在目标元素。如果存在,我们需要找出它的索引。保持数组中的每个元素与其索引相互对应的最好方法是什么?哈希表。
2,用法:new HashMap()–>for循环–>设立目标元素–>检查目标元素是否存在表中–>返回
3,注意:HashMap的几种方法:
map.containsKey() 检查map表中是否有关键字key
map.get() 获得关键字key所对应的value值
二, 双指针(按顺序排列的数组) (详见力扣167)
设立两个指针low(指向最小值),high(指向最大值)分别指向第一个元素位置和最后一个元素的位置。求两个指针的和,将和sum与目标值target进行比较.若相等,则有唯一值;若sum>target,则high–;若sum<target,则low++;最终逐步缩小查找范围找出答案.
三, 二分法(按顺序排列的数组) (详见力扣167)
在数组中找到两个数,使得它们的和等于目标值,可以首先固定第一个数,然后寻找第二个数,第二个数等于目标值减去第一个数的差。利用数组的有序性质,可以通过二分查找的方法寻找第二个数。为了避免重复寻找,在寻找第二个数时,只在第一个数的右侧寻找。
最后
以上就是震动海燕为你收集整理的刷力扣解题思路感想(简单题)的全部内容,希望文章能够帮你解决刷力扣解题思路感想(简单题)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复