ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-6-11 真题练习

2022-06-11 14:32:35  阅读:143  来源: 互联网

标签:11 dummy head ListNode 真题 int next 2022 1000


MT8 奇数位丢弃   warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

描述

对于一个由 0..n 的所有数按升序组成的序列,我们要进行一些筛选,每次我们丢弃去当前所有数字中第奇数位个的数。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。   数据范围: 1 \le n \le 1000 \1≤n≤1000  ,本题有多组输入

输入描述:

每组数据一行一个数字,为题目中的n(n小于等于1000)。

输出描述:

一行输出最后剩下的数字。
 1 import java.util.*;
 2 
 3 public class Main {
 4     static class ListNode{
 5         ListNode next;
 6         int value;
 7         ListNode(int x){
 8             value=x;
 9         }
10     }
11     public static void main(String[] args) {
12         Scanner sc=new Scanner(System.in);
13         while (sc.hasNext()){
14             int n=sc.nextInt();
15             ListNode dummy=new ListNode(-1);
16             ListNode point=dummy;
17             for (int i=0;i<=n;i++){
18                 point.next= new ListNode(i);
19                 point=point.next;
20             }
21             int sum=n+1;
22             while (sum>1){
23                 int index=1;
24                 ListNode head=dummy.next;
25                 ListNode pre=dummy;
26                 while (head!=null){
27                     if (index%2==1){
28                         pre.next=head.next;
29                         head=head.next;
30                         sum--;
31                     }else{
32                         pre=head;
33                         head=head.next;
34                     }
35                     index++;
36                 }
37             }
38             System.out.println(dummy.next.value);
39         }
40     }
41 
42 }

思路:链表模拟即可。

标签:11,dummy,head,ListNode,真题,int,next,2022,1000
来源: https://www.cnblogs.com/benbicao/p/16365833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有