最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java ArrayDeque使用方法詳解

 更新時間:2016年03月29日 11:44:45   作者:我要天天向上  
這篇文章主要為大家詳細(xì)介紹了Java ArrayDeque的使用方法,感興趣的小伙伴們可以參考一下

題目要求為:
卡拉茲(Callatz)猜想:

對任何一個自然數(shù)n,如果它是偶數(shù),那么把它砍掉一半;如果它是奇數(shù),那么把(3n+1)砍掉一半。這樣一直反復(fù)砍下去,最后一定在某一步得到n=1。當(dāng)我們驗(yàn)證卡拉茲猜想的時候,為了避免重復(fù)計算,可以記錄下遞推過程中遇到的每一個數(shù)。例如對n=3進(jìn)行驗(yàn)證的時候,我們需要計算3、5、8、4、2、1,則當(dāng)我們對n=5、8、4、2進(jìn)行驗(yàn)證的時候,就可以直接判定卡拉茲猜想的真?zhèn)?,而不需要重?fù)計算,因?yàn)檫@4個數(shù)已經(jīng)在驗(yàn)證3的時候遇到過了,我們稱5、8、4、2是被3“覆蓋”的數(shù)。我們稱一個數(shù)列中的某個數(shù)n為“關(guān)鍵數(shù)”,如果n不能被數(shù)列中的其他數(shù)字所覆蓋。

現(xiàn)在給定一系列待驗(yàn)證的數(shù)字,我們只需要驗(yàn)證其中的幾個關(guān)鍵數(shù),就可以不必再重復(fù)驗(yàn)證余下的數(shù)字。你的任務(wù)就是找出這些關(guān)鍵數(shù)字,并按從大到小的順序輸出它們。

輸入格式:每個測試輸入包含1個測試用例,第1行給出一個正整數(shù)K(<100),第2行給出K個互不相同的待驗(yàn)證的正整數(shù)n(1<n<=100)的值,數(shù)字間用空格隔開。

輸出格式:每個測試用例的輸出占一行,按從大到小的順序輸出關(guān)鍵數(shù)字。數(shù)字間用1個空格隔開,但一行中最后一個數(shù)字后沒有空格。

輸入樣例:
6
3 5 6 7 8 11
輸出樣例:
7 6

代碼如下:

<span style="font-size:14px;"> 
import java.util.ArrayDeque; 
import java.util.ArrayList; 
import java.util.Deque; 
import java.util.List; 
import java.util.Queue; 
import java.util.Scanner; 
import java.util.SortedSet; 
import java.util.TreeSet; 
 
public class PAT1005 { 
 
  public static void main(String[] args) { 
    // TODO Auto-generated method stub 
 
    Scanner scanner = new Scanner(System.in); 
    int numSize=scanner.nextInt(); 
    ArrayDeque<Integer> newArrayDeque=new ArrayDeque<Integer>(); 
    ArrayDeque<Integer> closeArrayDeque=new ArrayDeque<Integer>(); 
    int i; 
    while (scanner.hasNext()) {           //讀取鍵盤輸入值 
      for (i = 0; i < numSize; i++) { 
        newArrayDeque.add(scanner.nextInt()); 
         
      } 
      if (i>=numSize) { 
        break; 
      } 
    } 
    int temp; 
    for (Integer integer : newArrayDeque) {    //將非關(guān)鍵數(shù)存入closeArrayDeque中 
      temp=integer;  
      while (temp!=1) { 
        if (temp%2==0) { 
          temp=temp/2; 
          if (newArrayDeque.contains(temp)) { 
            closeArrayDeque.add(temp); 
          } 
           
        }else { 
          temp=(temp*3+1)/2; 
          if (newArrayDeque.contains(temp)) { 
            closeArrayDeque.add(temp); 
          } 
        } 
      } 
    } 
    SortedSet<Integer> sortedSet=new TreeSet<Integer>(); //sortedSet用于存放關(guān)鍵數(shù) 
    for (Integer integer : newArrayDeque) { 
      if (!closeArrayDeque.contains(integer)) { 
        sortedSet.add(integer); 
      } 
    } 
    int[] leftInt=new int[sortedSet.size()]; 
    int j=sortedSet.size()-1; 
    for (Integer integer : sortedSet) { 
      leftInt[j]=integer; 
      j--; 
    } 
    for (int j2 = 0; j2 < leftInt.length; j2++) {    //按照從大到小的順序輸出關(guān)鍵數(shù) 
      if (j2==leftInt.length-1) { 
        System.out.println(leftInt[j2]); 
      }else { 
        System.out.print(leftInt[j2]+" "); 
      } 
       
    } 
  } 
 
} 
</span> 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • mybatis-plus實(shí)現(xiàn)打印完整sql語句

    mybatis-plus實(shí)現(xiàn)打印完整sql語句

    這篇文章主要介紹了mybatis-plus實(shí)現(xiàn)打印完整sql語句方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Jenkins 關(guān)閉和重啟詳細(xì)介紹及實(shí)現(xiàn)

    Jenkins 關(guān)閉和重啟詳細(xì)介紹及實(shí)現(xiàn)

    這篇文章主要介紹了Jenkins的關(guān)閉、重啟的相關(guān)資料,用jar -jar jenkins.war來啟動jenkins服務(wù)器,那么我們?nèi)绾侮P(guān)閉或者重啟jenkins服務(wù)器呢,這里就給出實(shí)現(xiàn)的方法,需要的朋友可以參考下
    2016-11-11
  • java父子線程之間實(shí)現(xiàn)共享傳遞數(shù)據(jù)

    java父子線程之間實(shí)現(xiàn)共享傳遞數(shù)據(jù)

    本文介紹了Java中父子線程間共享傳遞數(shù)據(jù)的幾種方法,包括ThreadLocal變量、并發(fā)集合和內(nèi)存隊(duì)列或消息隊(duì)列,并提醒注意并發(fā)安全問題
    2025-02-02
  • java8實(shí)現(xiàn)List中對象屬性的去重方法

    java8實(shí)現(xiàn)List中對象屬性的去重方法

    這篇文章主要介紹了java8實(shí)現(xiàn)List中對象屬性的去重方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java實(shí)現(xiàn)的猜數(shù)字游戲示例

    Java實(shí)現(xiàn)的猜數(shù)字游戲示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的猜數(shù)字游戲,涉及Java數(shù)學(xué)運(yùn)算與判斷相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • MyBatis查詢返回Map示例代碼

    MyBatis查詢返回Map示例代碼

    這篇文章主要給大家介紹了關(guān)于MyBatis查詢返回Map的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • Java中Pattern用法實(shí)例(正則表達(dá)式)

    Java中Pattern用法實(shí)例(正則表達(dá)式)

    Pattern在java.util.regex包中,是正則表達(dá)式的編譯表示形式,此類的實(shí)例是不可變的,可供多個并發(fā)線程安全使用,下面這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式Pattern用法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 不了解這12個語法糖,別說你會Java

    不了解這12個語法糖,別說你會Java

    這篇文章主要介紹了不了解這12個語法糖,別說你會Java,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Spring事務(wù)的開啟原理詳解

    Spring事務(wù)的開啟原理詳解

    這篇文章主要介紹了Spring事務(wù)的簡單實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用spring,感興趣的朋友可以了解下
    2021-03-03
  • java?字段值為null,不返回該字段的問題

    java?字段值為null,不返回該字段的問題

    這篇文章主要介紹了java?字段值為null,不返回該字段的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論

寿阳县| 枣庄市| 东乡县| 祥云县| 左云县| 常熟市| 托克托县| 滕州市| 济宁市| 勃利县| 高邑县| 彭阳县| 临泽县| 汶川县| 大庆市| 叶城县| 三穗县| 云阳县| 海伦市| 普安县| 襄樊市| 平山县| 遂溪县| 晋江市| 阿拉善右旗| 寻乌县| 南开区| 江口县| 海兴县| 晋宁县| 吕梁市| 大埔县| 友谊县| 宜城市| 贡觉县| 西乌| 田阳县| 西丰县| 蓬莱市| 云阳县| 曲松县|