欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java ArrayDeque使用方法詳解

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

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

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

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

輸入格式:每個測試輸入包含1個測試用例,第1行給出一個正整數(shù)K(<100),第2行給出K個互不相同的待驗證的正整數(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)文章

  • Spring @value和@PropertySource注解使用方法解析

    Spring @value和@PropertySource注解使用方法解析

    這篇文章主要介紹了Spring @value和@PropertySource注解使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • java9版本特性資源自動關(guān)閉的語法增強

    java9版本特性資源自動關(guān)閉的語法增強

    這篇文章主要為大家介紹了java9版本特性資源自動關(guān)閉的語法增強的詳細使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • java 中的instanceof用法詳解及instanceof是什么意思(推薦)

    java 中的instanceof用法詳解及instanceof是什么意思(推薦)

    instanceof 是 Java 的保留關(guān)鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,返回 boolean 的數(shù)據(jù)類型。接下來通過本文給大家介紹java 中的instanceof用法詳解及instanceof是什么意思,需要的朋友參考下吧
    2017-11-11
  • Java 中的 DataInputStream 介紹_動力節(jié)點Java學(xué)院整理

    Java 中的 DataInputStream 介紹_動力節(jié)點Java學(xué)院整理

    DataInputStream 是數(shù)據(jù)輸入流。它繼承于FilterInputStream。接下來通過本文給大家介紹Java 中的 DataInputStream的相關(guān)知識,需要的朋友參考下吧
    2017-05-05
  • 如何使用Java redis實現(xiàn)發(fā)送手機驗證碼功能

    如何使用Java redis實現(xiàn)發(fā)送手機驗證碼功能

    這篇文章主要介紹了如何使用Java redis實現(xiàn)發(fā)送手機驗證碼功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java實現(xiàn)統(tǒng)計文檔中關(guān)鍵字出現(xiàn)的次數(shù)

    Java實現(xiàn)統(tǒng)計文檔中關(guān)鍵字出現(xiàn)的次數(shù)

    這篇文章主要為大家分享了利用Java語言實現(xiàn)統(tǒng)計關(guān)鍵字在文檔中出現(xiàn)的次數(shù)的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-05-05
  • Java中的ThreadLocalMap源碼解讀

    Java中的ThreadLocalMap源碼解讀

    這篇文章主要介紹了Java中的ThreadLocalMap源碼解讀,ThreadLocalMap是ThreadLocal的內(nèi)部類,是一個key-value數(shù)據(jù)形式結(jié)構(gòu),也是ThreadLocal的核心,需要的朋友可以參考下
    2023-09-09
  • netty中的ByteBuf源碼詳解

    netty中的ByteBuf源碼詳解

    這篇文章主要介紹了netty中的ByteBuf源碼詳解,ByteBuf,顧名思義,就是字節(jié)緩沖區(qū),是Netty中非常重要的一個組件,某些場景下性能不是太好,netty開發(fā)團隊重新設(shè)計了ByteBuf用以替代原生ByteBuffer,需要的朋友可以參考下
    2023-11-11
  • 詳解Spring Boot對 Apache Pulsar的支持

    詳解Spring Boot對 Apache Pulsar的支持

    Spring Boot通過提供spring-pulsar和spring-pulsar-reactive自動配置支持Apache Pulsar,類路徑中這些依賴存在時,Spring Boot自動配置命令式和反應(yīng)式Pulsar組件,PulsarClient自動注冊,默認連接本地Pulsar實例,感興趣的朋友一起看看吧
    2024-11-11
  • 運行Springboot測試類查詢數(shù)據(jù)庫數(shù)據(jù)顯示白網(wǎng)頁問題及解決方法

    運行Springboot測試類查詢數(shù)據(jù)庫數(shù)據(jù)顯示白網(wǎng)頁問題及解決方法

    Spring Boot應(yīng)用未能啟動的原因是它沒有找到合適的數(shù)據(jù)庫配置具體來說,它需要一個數(shù)據(jù)源(DataSource),但未能在你的配置中找出,也沒有找到任何嵌入式數(shù)據(jù)庫(H2, HSQL 或 Derby),本文給大家分享運行Springboot測試類查詢數(shù)據(jù)庫數(shù)據(jù)顯示白網(wǎng)頁問題及解決方法,一起看看吧
    2023-11-11

最新評論