华为2017实习生招聘笔试题-公司年会
来源:互联网 发布:淘宝运营助理要做多久 编辑:程序博客网 时间:2024/05/17 17:54
公司年会
解题思路
- N是输入的三个数中最大的数,因此N最大为9。由于任意3个不重复的数(不考虑2,5,6,9倒转的情况)组成的一位数有3种,两位数有6种,加起来9种。如果考虑2,5,6,9倒转情况则种树更多,因此这题的题设下就不需要考虑三位数的情况,因为是求从小到大第N大的数(三位数肯定在9开外)
- 考虑各种不合法输入
public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String in = sc.nextLine(); String[] numsOfString = in.split(","); if(numsOfString.length != 3){//必须三个数字 System.out.println(-1); return; } int[] nums = new int[3];//存储三个输入数字 for(int i = 0; i < 3; i++){ nums[i] = Integer.valueOf(numsOfString[i]); } int twoOrFive = 0; int sixOrNine = 0; for(int n : nums){//判断数字是否符合要求 if(n < 1 || n > 9){ System.out.println(-1); return; } if(n == 2 || n == 5) twoOrFive++; if(n == 6 || n == 9) sixOrNine++; } if(twoOrFive == 2 || sixOrNine == 2){//2,5或6,9一起出现,不符合要求 System.out.println(-1); return; } if(nums[0] == nums[1] || nums[0] == nums[2] || nums[1] == nums[2]){//不能有重复数字 System.out.println(-1); return; } List<Integer> list = new ArrayList<Integer>();//结果序列 for(int i = 0; i < 3; i++) {//放入1位数 int num = nums[i]; if(num == 2 || num == 5 || num == 6 || num == 9){ if(num == 2 || num == 5){ list.add(2);list.add(5); } else{ list.add(6);list.add(9); } } else list.add(num); } int size = list.size(); for(int i = 0; i < size; i++)//放入2位数 for(int j = 0; j < size; j++) if(i != j) if(isOk(list.get(i),list.get(j))) list.add(list.get(i) * 10 + list.get(j)); int max = Math.max(Math.max(nums[0],nums[1]),nums[2]); Collections.sort(list);//排序 System.out.println(list.get(max - 1)); } public static boolean isOk(int n,int m){//生成两位数的时候2,5或6,9不能一起算 if(n == 2 || n == 5) return m != 2 && m != 5; else if(n == 6 || n == 9) return m != 6 && m != 9; return true; }}
0 0
- 华为2017实习生招聘笔试题-公司年会
- 华为2017笔试题 公司年会
- 华为 2017 实习生招聘笔试题
- 华为2017实习生招聘笔试题-水仙花数
- 华为2017实习生招聘笔试题-任务调度
- 华为2016实习生招聘笔试题第三题--和尚挑水
- 华为、腾讯实习生招聘笔试、面试经验
- 华为实习生笔试题
- 2017腾讯实习生招聘笔试编程题
- 阿里巴巴2017实习生招聘笔试题
- 2017华为实习生笔试题汇总
- 2014年实习生招聘之华为实习生招聘笔试题(上机完成)—2014/04/02
- 某公司实习生招聘笔试题
- 2013-04-26-成都华为实习生招聘上机笔试
- 华为2016届实习生招聘(武汉)笔试
- 华为2018届校招勇敢星实习生招聘笔试+面试经历
- 2017百度实习生招聘笔试真题编程题集合
- 阿里巴巴2017实习生招聘笔试题(算法工程师)
- Eclipse快捷键大全
- 基于NFS共享存储kvm虚拟机动态迁移操作梳理
- javascript画直线和画圆的方法
- Linux基础学习——unit5
- Could not retrieve transation read-only status server
- 华为2017实习生招聘笔试题-公司年会
- 学习笔记整理——Find,find -perm
- 京东2018实习笔试题——站队
- spring数据源c3p0配置
- OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)
- HTML的定位方式
- 一位十年北漂人生活感触
- TCP/IP四层模型
- 华为2017实习生招聘笔试题-水仙花数