• 华为机试-删数


    有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。
    以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。

    输入描述:
    每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。


    输出描述:
    一行输出最后一个被删掉的数的原始下标位置。

     程序实现

    1. import java.util.LinkedList;  
    2. import java.util.Queue;  
    3. import java.util.Scanner;  
    4.   
    5. /** 
    6.  * 有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。 
    7.  * 以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除), 
    8.  * 如此循环直到最后一个数被删除。 
    9.  *  
    10.  * 输入描述: 每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。 
    11.  *  
    12.  *  
    13.  * 输出描述: 一行输出最后一个被删掉的数的原始下标位置。 
    14.  *  
    15.  */  
    16.   
    17. public class Main {  
    18.   
    19.     public static void main(String[] args) {  
    20.         Scanner scanner = new Scanner(System.in);  
    21.         while (scanner.hasNext()) {  
    22.             int num = scanner.nextInt();  
    23.             if (num > 1000) {  
    24.                 num = 1000;  
    25.             }  
    26.             int index = findLast(num);  
    27.             System.out.println(index);  
    28.         }  
    29.   
    30.     }  
    31.   
    32.     private static int findLast(int num) {  
    33.         Queue<Integer> queue = new LinkedList<>();  
    34.   
    35.         for (int i = 0; i < num; i++) {  
    36.             queue.add(i);  
    37.         }  
    38.         int h = 0;  
    39.         int out = 0;  
    40.         while (!queue.isEmpty()) {  
    41.             out = queue.poll();  
    42.             h++;  
    43.             if (h < 3) {  
    44.                 queue.add(out);  
    45.             } else {  
    46.                 h = 0;  
    47.             }  
    48.         }  
    49.   
    50.         return out;  
    51.     }  
    52.   
    53. }  
  • 相关阅读:
    定义类或对象
    CSS 超出的文字显示省略号(单行、多行)
    获取Json对象的长度以及判断json对象是否为空
    第三次作业附加
    八皇后问题解题报告(dfs
    STL学习笔记(不定期更新)
    寒假作业之三
    寒假作业之二(2)
    寒假作业之二(1)
    第一篇随笔居然是总结耶
  • 原文地址:https://www.cnblogs.com/wwjldm/p/7158785.html
Copyright © 2020-2023  润新知