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

首頁 > 開發 > Java > 正文

Java如何找出數組中重復的數字

2024-07-14 08:42:12
字體:
來源:轉載
供稿:網友

題目描述:找出數組中重復的數字,具體內容如下

在一個長度為n的數組里的所有數字都在 0~n-1的范圍內。數組中某些數字是重復的,但不知道有幾個數字是重復的,也不知道每個數字重復了幾次。請找出數組中任意一個重復的數字。例如:如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出的是重復的數字2或者3

這個面試題是劍指offer中的面試題3,,下面我用java代碼實現。

算法步驟:

 從頭到尾依次掃描數組中的每個數字。

1. 當掃描到下表為i的數字時,首先比較這個數字(用m表示)是不是等于下標i;

2. 如果是,則接著掃描下一個數字;如果不是,則再拿它和第m個數字進行比較。

3. 如果它和第m個數字相等,就找到了一個重復的數字(也就是下標 i 和下標 m 的位置都出現了)

4. 如果它和第m個位置數字不相等,就把第i個數字和第 m 個數字交換。

5. 接下來我們再重復這個比較、交換的過程,知道我們發現一個重復的數字。

import java.util.Scanner; public class Main { public static void getRepeateNum( int[] num) {  int NumChange; System.out.println("重復數字是:"); for(int index = 0; index < num.length; index++) {  while(num[index] != index) {  if(num[index] == num[num[index]]) {   System.out.print(num[index]+" ");   break;  } else {   NumChange = num[num[index]];   num[num[index]] = num[index];   num[index] = NumChange;  }   } }  }  public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] num = new int[5];  //數組長度可以自己定義 System.out.println("請輸入一組數據:"); for(int i = 0; i < 5; i++) {  num[i] = scanner.nextInt(); } getRepeateNum(num); } }

其實還可以使用java中的Map實現。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: www.99av| 成人精品视频网站 | 在线小视频国产 | 亚洲精品一区二区三区大胸 | 国产高潮失禁喷水爽到抽搐视频 | 成人福利视频在线 | 黄色网电影 | 亚洲人成电影在线 | 精品国产96亚洲一区二区三区 | 毛片免费在线播放 | 午夜看毛片 | 免费国产网站 | 国产精品视频导航 | 成人免费一区二区三区视频网站 | 国产精品区在线12p 午夜视频色 | 久久精品视频2 | 日本在线视频免费观看 | 色日本视频 | 日本一级黄色大片 | 午夜视频亚洲 | 国产一区二区免费在线观看视频 | 国产精品久久久久久久模特 | 日韩色视频在线观看 | 日韩在线毛片 | 成人在线视频国产 | 国产午夜精品一区二区三区免费 | 91九色免费视频 | 一级一级一级一级毛片 | av电影在线观看免费 | 美女黄页网站免费进入 | 黄色一级片免费观看 | 娇喘视频在线观看 | 成人免费乱码大片a毛片视频网站 | 国产精品久久久久久久久久了 | 欧美黄色试片 | 日韩美香港a一级毛片 | 91精品国产综合久久男男 | 看a级毛片 | av在线官网 | 毛片一级网站 | 成年免费视频黄网站在线观看 |