zoukankan      html  css  js  c++  java
  • 华为机试-删数

    有一个数组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. }  
  • 相关阅读:
    使用element-ui table expand展开行实现手风琴效果
    使用js生成二维码和条形码
    js时间戳转换时间、距当前时间
    使用js在浏览器中禁止右键、审查元素、复制功能
    VS Code编辑器插件整理及配置设定
    在vue项目中使用canvas-nest.js,报parameter 1 is not of type 'Element'
    JS中的函数
    Babel 7 初探
    package-lock.json 文件
    Js 中的数组
  • 原文地址:https://www.cnblogs.com/wwjldm/p/7158785.html
Copyright © 2011-2022 走看看