织梦网站多少钱,凡科快图好用吗,wordpress数字主题,在线商标设计logo免费T1 两数之和
题目
链接#xff1a; https://leetcode.cn/problems/two-sum/submissions/517876748/?envTypestudy-plan-v2envIdtop-100-liked
【刷题感悟】这道题用两层for循环也能做出来#xff0c;但我们还是要挑战一下时间复杂度小于 O ( n 2 ) O(n^2) O(n2)的解…T1 两数之和
题目
链接 https://leetcode.cn/problems/two-sum/submissions/517876748/?envTypestudy-plan-v2envIdtop-100-liked
【刷题感悟】这道题用两层for循环也能做出来但我们还是要挑战一下时间复杂度小于 O ( n 2 ) O(n^2) O(n2)的解法不能因为它是第一道 而且还是简单题就不做题目还是常做常新的从中挖掘新的学习点也是一个一件很有价值的事情。
代码 public int[] twoSum(int[] nums, int target) {MapInteger, Integer indexValueMap new HashMap();for (int ii 0; ii nums.length; ii) {// 把数值作为key下标作为value好一点因为value比key方便获取而且题目最终是希望我们返回数组下标if (indexValueMap.containsKey(target - nums[ii])) {// 初始化数组的方法return new int[] {ii, indexValueMap.get(target - nums[ii])};}indexValueMap.put(nums[ii], ii);}// 返回一个空数组return new int[] {};}常用小技巧
初始化数组的方法
new int[] {1, 2};初始化List的方法
new ArrayList(){{ // 两层括号add(str);
}};将字符串转换成它的字典序字符串
char[] chartArr string.toCharArray(); // 先把字符串转成char数组
Arrays.sort(chartArr); // 按字典序排列
return String.valueOf(chartArr); // char数组转成字符串