首页 > 其他分享 >【code基础】HashMap在查找和降低时间复杂度方面的应用

【code基础】HashMap在查找和降低时间复杂度方面的应用

时间:2022-09-26 11:46:22浏览次数:44  
标签:code HashMap nums int 复杂度 hashtable new

HashMap 由于使用key:value形式,可以实现快速查找。通常能将时间复杂度降维

 //2.进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?使用哈希表
        public int[] twoSum2(int[] nums, int target) {
            Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
            for (int i = 0; i < nums.length; ++i) {
                //已在过,直接返回下标和当前下标的组合即可
                if (hashtable.containsKey(target - nums[i])) {
                    return new int[]{hashtable.get(target - nums[i]), i};
                }
                //顺序不能改,先判断,再入库
                // 遍历的过程中做存取操作
                hashtable.put(nums[i], i);
            }
            return new int[0];
        }

标签:code,HashMap,nums,int,复杂度,hashtable,new
From: https://www.cnblogs.com/xiaoyu-jane/p/16730333.html

相关文章

  • vue 中使用 富文本编辑器;带图片上传时后台报错JSON parse error: Unexpected characte
    使用的是 wangEditorvue安装好后,在components文件夹下创建一个创建一个类<template><divref="editor"></div></template><script>importEfrom'wange......
  • leetcode-简单1-8
    目录1.两数之和2.回文数3.罗马数字转整数4.最长公共前缀5.有效的括号6.最大同时在线人数7.无重复字符的最长子串8.链表删除倒数第n个节点1.两数之和/*题目:两数之和详细......
  • 【code基础】java 空数组
    解题时,如果不满足返回空数组,可以使用newint[0]返回@TestpublicvoidintTest(){int[]ints=newint[0];//指定元素个数为0,表示空数组int[]ints1=newint[......
  • #100daysofcode
    #100daysofcodeR1D9Photoby瓦列里·西索耶夫on不飞溅学习做了一些触摸打字课。这有助于输入大量代码以下来源文档中只能有一个body元素<body></body>......
  • vscode 打包报错 error code ELIFECYCLE error This is probably not a problem wi
    执行命令:npmrunbuild详细报错信息:0infoitworkedifitendswithok1verbosecli[1verbosecli'C:\\ProgramFiles(x86)\\nodejs\\node.exe',1verbose......
  • HashMap底层原理及jdk1.8源码解读
    一、前言写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!!HashMap在我们日常开发中可谓经常遇到,HashMap源码和底层原理在现在面试中是......
  • LeetCode腾讯精选50题 -- 三数之和
    题目:  分析:由题意,很容易看出可以三层循环,但是时间复杂度就为O(n^3)很容易运行超时,想办法进行简化(1)排序  要求三数相加为0 ,要是排序之后的数据都为正数,则必然不......
  • LeetCode 96 不同的二叉搜索树
    图解找递推公式constintN=20;classSolution{public:intdp[N];intnumTrees(intn){dp[0]=1;for(inti=1;i<=n;i++)......
  • texLive+VsCode
    首先进入镜像网站下载texLive卸载方式(C:/texlive/2022/tlpkg/pkg/installer/uninst.bat管理员身份运行)下载:运行驱动中的install-tl-windows.bat,可以修改安装位置,其他默......
  • Xcode 13 新项目使用纯代码
    使用Xcode13创建新项目时,需要去掉一些配置才能正确使用纯代码进行初始化去除配置信息找到AppDelegate.swift文件,删除UISceneSessionLifecycle两个方法添加初始......