import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String []args){Scanner in = new Scanner(System.in);int n =in.nextInt();int temp[]=new int[n];        //存储输入值int arg[][] =new int[n][n];   //存储判断值,当某一列全为0时才是关键值int result[]=new int[n];      //输出结果数组int count=0;                   //做统计输出空格用int num=0;                     //result数组的长度for(int i=0;i<n;i++ ){for (int k=0;k<n;k++)arg[i][k]=0;            //全部置为0}for(int i=0;i<n;i++){temp[i]=in.nextInt();}for(int i=0;i<n;i++){int S =temp[i];while (S!=1){if(S % 2 == 0){S /= 2;} elseS = (3 * S + 1) / 2;for(int k=0;k<n;k++){if(S==temp[k]){arg[i][k]=1;    //当中间值与temp[i](从0到n)的值相同的话,将之置为1}}}}for(int i=n-1;i>=0;i--){arg[i][i]=0;            //将对角线全部置为零,自己不能将自己覆盖for(int k=0;k<n;k++){if(arg[k][i]==1)break;          //当某一列出现1后,则绝对不是关键值,跳出elseif(k==n-1){result[num]=temp[i];    //当遍历到每一列最后一个值,均为零时,则为关键值,将之存储到result数组中去num++;                  //数组长度}}}Arrays.sort(result,0,num);   //因为输入的数据并不一定是从小到大排列的,并没有这个要求,所以需要需要排列一下for(int i=num-1;i>=0;i--){                  //这个操作让我从通过三个到全部通过,同时是从大到小输出。if (count!=0)System.out.print(' ');System.out.print(result[i]);count++;}
}
}

利用map存取数字变到1过程中经历的数字,又因为要倒序输出,所以先对整个数组做一次倒序排序,然后再把map中无法获取到的数输出即为答案

import java.io.IOException;
import java.util.*;public class Main {public static void main(String[] args) throws IOException {Scanner in=new Scanner(System.in);int num=in.nextInt();int[] a=new int[num];List<Integer> list=new ArrayList<>();Map<Integer,Integer> map=new HashMap<>();map.put(1,0);for(int i=0;i<num;i++){a[i]=in.nextInt();getMap(map,a[i]);}Arrays.sort(a);for(int i=a.length-1;i>=0;i--){if(map.get(a[i])==null){list.add(a[i]);}}for(int i=0;i<list.size();i++) {if (i == list.size() - 1) {System.out.print(list.get(i));} else {System.out.print(list.get(i) + " ");}}}public static void getMap(Map map, int element) {while (element != 1) {if (element % 2 == 0) {element = element / 2;} else {element = (3 * element + 1) / 2;}map.put(element, 0);}}
}

*PAT_B_1005_Java(25分)相关推荐

  1. 12门课100分直博清华!这份成绩单冲上热搜,但学霸小伙也曾考过25分

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一 ...

  2. PTA 7-3 旅游规划 (25分)(双权值Dijkstra最短路)

    7-3 旅游规划 (25分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...

  3. PTA 03-树1 树的同构 (25分)

    题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/711 5-3 树的同构   (25分) 给定两棵树T1和T2.如果T1可以通过若干次左右 ...

  4. 【PAT (Advanced Level) Practice】1051 Pop Sequence (25 分)

    1051 Pop Sequence (25 分) Given a stack which can keep M numbers at most. Push N numbers in the order ...

  5. 【PAT (Advanced Level) Practice】1093 Count PAT‘s (25 分)

    1093 Count PAT's (25 分) The string APPAPT contains two PAT's as substrings. The first one is formed ...

  6. 【PAT (Advanced Level) Practice】1149 Dangerous Goods Packaging (25 分)

    1149 Dangerous Goods Packaging (25 分) When shipping goods with containers, we have to be careful not ...

  7. 7-29 修理牧场 (25 分)

    7-29 修理牧场 (25 分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L ​i ​​ 个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L ...

  8. 7-18 银行业务队列简单模拟 (25 分)

    7-18 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达 ...

  9. 5-35 城市间紧急救援 (25分) pat 数据结构

    题目连接 https://pta.patest.cn/pta/test/15/exam/4/question/862 5-35 城市间紧急救援   (25分) 作为一个城市的应急救援队伍的负责人,你有 ...

最新文章

  1. 西门子s7-400闭环控制模块_西门子6ES7312-1AE14-0AB0
  2. [react] React为什么要搞一个Hooks?
  3. 创建线程的方式_创建线程有几种不同的方式?
  4. 如何安装python_怎么在Windows操作系统下安装Python和Networkx
  5. c 语言 封装dll_C#封装YOLOv4算法进行目标检测
  6. Hibernate(2)
  7. [codeup 2134] FatMouse's Trade
  8. JSP内置对象及部分常用方法
  9. linux环境下 Redis 配置文件
  10. Git HEAD detached from origin(冲突解决后无法正常push) 问题的解决方案
  11. canvas绘制表盘时钟
  12. Anaconda创建Pytorch虚拟环境(排坑详细)
  13. 驾考计算机播报原理,科目三电子路考流程详解 考驾照的都看看!
  14. Python 3 《dictionary》入门练习
  15. CSS Font-awesome字体图标库文件
  16. firebox插件使用笔记
  17. Android Studio打地鼠小游戏
  18. 树的三叉链的创建和遍历
  19. 安卓四种launchMode的理解
  20. 英飞凌单片机知乎_如何评价单片机大神郭天祥?

热门文章

  1. 怎么查看地址值_西门子S7-200 SMART PID回路控制,配置PID向导,查看项目组件
  2. 使用ab进行压力测试详解
  3. ios项目icon和default图片命名规则
  4. 211计算机实力末尾的学校,实力最弱的十所985大学是哪几所?选择末尾985好还是选211好?...
  5. 关于Android手机CPU不同架构的问题
  6. selenium对富文本的操作
  7. 【汇编】汇编学习入门-系列更新20180705
  8. Kotlin学习笔记(六) 伴生对象 对象表达式
  9. ODS(Operational Data Store)定义
  10. 1月份Web服务器份额:Microsoft涨2.32%居亚