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("没有找到!!!");
        }
  • 相关阅读:
    SharePoint缓存配置
    修改默认的个人站点
    生成代码工具
    Ext 布局(layout)
    编程网站
    EXT 4.0 上传文件
    修改Ext grid 单元格
    Ext.tip.Tooltip 提示
    EXT iframe 应用
    EXT 4.0 TreeGrid 使用
  • 原文地址:https://www.cnblogs.com/super-hu/p/12163798.html
Copyright © 2011-2022 走看看