麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開發(fā) > Java > 正文

Java查找不重復(fù)無(wú)序數(shù)組中是否存在兩個(gè)數(shù)字的和為某個(gè)值

2024-07-14 08:43:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天去某在線教育面試面試官讓做的一道題,題目描述如下:

  1. 給定一個(gè)不重復(fù)的無(wú)序數(shù)組arr和一個(gè)定值num
  2. 查找arr中是否有兩個(gè)數(shù)的和等于num
  3. 有則返回這兩個(gè)數(shù)的下標(biāo)(可能有多組, 只用返回一組), 沒(méi)有則返回null

很多人一想可能就是兩層for循環(huán),我想了很久最后寫了雙重for循環(huán)…【這個(gè)代碼太easy就不放了】然后面試官說(shuō)知道哈希嗎,由于哈希查找的時(shí)間復(fù)雜度是O(1),從哈希的角度去考慮,這中間還有一堆就不描述了,說(shuō)一下怎么用哈希實(shí)現(xiàn)。

實(shí)現(xiàn)思路:

將數(shù)組中的所有的值放入HashMap的Key中,Value存放該值對(duì)應(yīng)的下標(biāo),遍歷這個(gè)HashMap,取得Key,計(jì)算如果可以和這個(gè)Key加起來(lái)的和為num的值,如果這個(gè)值存在,就直接返回這兩個(gè)下標(biāo)。遍歷一次的時(shí)間復(fù)雜度為O(N),查找的時(shí)間復(fù)雜度是O(1),總體時(shí)間復(fù)雜度O(N)。

代碼實(shí)現(xiàn):

public class getTwoNumsSumEquals {  public static void main(String[] args) {    int[] arr = new int[]{3, 4, 6, 5, 9, 8};    int num = 8;    int[] ret = getIndex(arr, num);    System.out.println("index of two numbers R:" + ret[0] + " " + ret[1]);  }  // 找到這兩個(gè)數(shù)的下標(biāo)并返回(以長(zhǎng)度為2的數(shù)組的形式返回)  private static int[] getIndex(int[] arr, int num) {    int[] ret = new int[2];    HashMap<Integer, Integer> hashMap = new HashMap<>();    int index = 0;    // 將每個(gè)數(shù)字和其下標(biāo)放進(jìn)map中    for (Integer curr : arr) {      hashMap.put(curr, index++);    }   // 遍歷HashMap并判斷    for (Map.Entry<Integer, Integer> entry : hashMap.entrySet()) {      int value = entry.getKey();      int subValue = num - value;      if(hashMap.containsKey(subValue)) {        // 找到啦!        ret[0] = entry.getValue();        ret[1] = hashMap.get(subValue);        break;      }    }    return ret;  }}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品亚洲va在线va天堂资源站 | 久久久久久久久久久久久久av | 午夜精品一区二区三区免费 | 亚洲自拍第二页 | 久久色在线 | 午夜精品成人 | 亚洲第一成人在线 | av视在线 | 少妇一级淫片免费放播放 | 欧美成人理论片乱 | 亚洲爱爱图 | 精精国产xxxx视频在线野外 | 一本色道精品久久一区二区三区 | 黄色片网站在线播放 | 国产亚洲欧美日韩高清 | 精品爱爱 | 亚洲av一级毛片特黄大片 | 欧美一区黄色 | 国产成人免费高清激情视频 | 本站只有精品 | 日韩在线欧美在线 | 国产妇女乱码一区二区三区 | 女18一级大黄毛片免费女人 | 免费观看一区二区三区 | 亚洲综合无码一区二区 | 久久久一区二区三区精品 | 欧美女优一区 | 日本在线观看中文字幕 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 九九精品在线观看视频 | 亚洲欧美不卡视频 | 国产91久久久| 看片一区二区三区 | 天天操很很操 | 日本精品中文字幕 | av黄色在线免费观看 | 免费永久在线观看黄网 | 欧美精品日日鲁夜夜添 | 亚洲小视频在线观看,com | 亚洲一级簧片 | 国产精品久久久久久久久久10秀 |