zoukankan      html  css  js  c++  java
  • 算法题一(给定一个整数数组和一个目标值,请你在该数组中找出和为目标值的那两个整数的索引)

    之前朋友面试遇到的一道题,说是给定一个整数数组和一个目标值,请你在该数组中找出和为目标值的那两个整数的索引,而且只能用一次循环。当时我就想在遍历的时候保存它的差值,然后和后面的数字作比较。但是内会儿只是有思路,没写出来,今天抽时间用代码实现了,话不多说,直接上代码。

        public static int[] twoSum(int[] arrays, int target) {
            Map<Integer, Integer> map = new HashMap<>();//创建一个map
            for (int i = 0; i < arrays.length; i++) {
                int cha = target-arrays[i];
                if (map.containsKey(cha)){//拿插值和map中的键比较,会返回boolean值
                    return new int [] {map.get(cha),i};//如果条件满足,意味着找到数字了,通过get(key)方法获得value。也就是该数字的下标
                }
                map.put(arrays[i],i);//保存到map中,数字作为键,下标作为值
            }
    
            throw new IllegalArgumentException("没有找到!!!");
        }
  • 相关阅读:
    .Net环境下的缓存技术介绍
    JavaScript 全局对象
    JavaScript escape() 函数
    实现DIV拖动
    巧用Ajax的beforeSend 提高用户体验
    js中ie8下不识别indexOf的解决办法
    页面弹窗效果HTML
    让html页面中的文字不可选中
    MVC路由规则
    C# Math.Round
  • 原文地址:https://www.cnblogs.com/super-hu/p/12163798.html
Copyright © 2011-2022 走看看