下面是新浪微博上曾经很火的一张图:

一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1index[1]=0 对应 arr[0]=8index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100

本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。


输入格式:

输入在一行中给出一个由11位数字组成的手机号码。


输出格式:

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。


输入样例:

18013820100
 

输出样例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

这道题怎么说,就是把数据放到set,然后简单的排序和搜索,。。。

 1 import java.io.BufferedReader;
2 import java.io.InputStreamReader;
3 import java.util.HashSet;
4 import java.util.Iterator;
5 import java.util.Set;
6
7 public class Main {
8 public static void main(String args[]) throws Exception{
9 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
10 String str=br.readLine();
11 Set<Integer> set = new HashSet<>();
12 for (int i=0;i<str.length();i++)set.add(Integer.parseInt(str.charAt(i)+""));
13 int arr[]=new int[set.size()];
14 int indexs[]=new int[11];
15 Iterator it=set.iterator();
16 int index=0;
17 while (it.hasNext()){
18 arr[index]=(int)it.next();
19 index++;
20 }
21 sort(arr);
22 System.out.print("int[] arr = new int[]{");
23 for (int i=0;i<arr.length;i++){
24 System.out.print(arr[i]);
25 if (i<arr.length-1)System.out.print(",");
26 }
27 System.out.print("};\n");
28 SearchSort(arr,indexs,str);
29 System.out.print("int[] index = new int[]{");
30 for (int i=0;i<indexs.length;i++){
31 System.out.print(indexs[i]);
32 if (i<indexs.length-1)System.out.print(",");
33 }
34 System.out.print("};");
35 }
36 public static void sort(int arr[]){
37 int max;
38 for (int i=0;i<arr.length;i++){
39 max=i;
40 for (int j=i;j<arr.length;j++){
41 if (arr[j]>arr[max]){
42 max=j;
43 }
44 }
45 if (max!=i){
46 int temp=arr[i];
47 arr[i]=arr[max];
48 arr[max]=temp;
49 }
50 }
51 }
52 public static void SearchSort(int arr[],int index[],String str){
53 for (int i=0;i<index.length;i++){
54 for (int j=0;j<arr.length;j++){
55 int a=Integer.parseInt(str.charAt(i)+"");
56 if (a==arr[j]){
57 index[i]=j;
58 break;
59 }
60 }
61 }
62 }
63 }

 

L1-027 出租 (20 分) java题解的更多相关文章

  1. L1-023 输出GPLT (20 分) java题解 GPLT天梯赛防坑技巧

    上题目先 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符.当然,四种字符(不区分大小写)的个数不一定是一样多的 ...

  2. 顶点的度 (20 分) Java解法

    顶点的度 顶点的图.给定一个有向图,输出各顶点的出度和入度. 输入格式: 输入文件中包含多个测试数据,每个测试数据描述了一个无权有向图.每个测试数据的第一行为两个正整数n 和m,1 ≤ n ≤ 100 ...

  3. 1002 写出这个数 (20 分) java解题

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10^100. 输出格式: 在一行内输 ...

  4. pat 1065 A+B and C (64bit)(20 分)(大数, Java)

    1065 A+B and C (64bit)(20 分) Given three integers A, B and C in [−2​63​​,2​63​​], you are supposed t ...

  5. PAT(B) 1018 锤子剪刀布(C:20分,Java:18分)

    题目链接:1018 锤子剪刀布 分析 用一个二维数组保存两人所有回合的手势 甲乙的胜,平,负的次数刚好相反,用3个变量表示就可以 手势单独保存在signs[3]中,注意顺序.题目原文:如果解不唯一,则 ...

  6. [PAT] 1144 The Missing Number(20 分)

    1144 The Missing Number(20 分) Given N integers, you are supposed to find the smallest positive integ ...

  7. [PAT] 1140 Look-and-say Sequence(20 分)

    1140 Look-and-say Sequence(20 分)Look-and-say sequence is a sequence of integers as the following: D, ...

  8. 【剑指offer】(第 2 版)Java 题解

    [剑指offer](第 2 版)Java 题解 第一章 面试的流程 略... 第二章 面试需要的基础知识 面试题 1. 赋值运算符函数 面试题 2. 实现 Singleton 模式 Solution ...

  9. L1-002 打印沙漏 (20 分)

    L1-002 打印沙漏 (20 分) 方法:清晰思路,纸上写出实例,注意循环使用 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ** ...

随机推荐

  1. WebStorm 2018.3.2 激活方式(永久)

    其他版本下载:https://www.jetbrains.com/webstorm/download/other.html 这个适合2018.3.2 第一步:下载补丁包(jar)链接:https:// ...

  2. configparser读

    #-*-coding:utf-8-*-__author__ = "logan.xu"import configparserconf = configparser.ConfigPar ...

  3. AndroidJetpack Fragment之Navigation和ViewPager2

    新的Fragment导航方式:Navigation 1.创建若干个fragment 2.添加导航 1)新建Navigation:右键res文件夹,New->Android Resource Fi ...

  4. BUUCTF-[CISCN2019 华东北赛区]Web2

    BUUCTF-[CISCN2019 华东北赛区]Web2 看题 一个论坛,内容不错:) 可以投稿,点击投稿发现要注册,那就先注册登录.随便账号密码就行. 常规操作,扫一下站点,发现有admin.php ...

  5. MySQL之连接查询和子查询

    多表连接的基本语法 多表连接,就是将几张表拼接为一张表,然后进行查询 select 字段1, 字段2, ... from 表1 {inner|lift|right} join 表2 on 连接条件; ...

  6. Swift-Button 的 highlighted(高亮)

    摘要 在学习小程序时,看到小程序中的一个样式属性 hover-class,通过设置这个属性,就可以给点击的控件添加一个高亮效果.所以也就萌生了在 Swift 也实现一个类似的功能的想法,开干. 下面代 ...

  7. Why TypeScript?

    本文经作者授权,翻译总结自 TypeScript Team 的成员 orta 的个人博客 <Understanding TypeScript's Popularity>. 原作者: ort ...

  8. Jenkins(7)- 解决Linux下忘记Jenkins密码

    如果想从头学起Jenkins的话,可以看看这一系列的文章哦 https://www.cnblogs.com/poloyy/category/1645399.html admin密码未更改情况下 进入\ ...

  9. easyui修复浏览器刷新后,tab页全部关闭的问题

    一.问题描述 使用easyui搭建的上左右页面布局,当我们在右侧打开了tab页,发现点击浏览器的刷新按钮后,整个页面会被重新渲染,导致所有打开的tab页都被关闭,回到初始状态的问题. 这个问题虽然不影 ...

  10. ThinkCMF5.1主要特性

    更改框架协议为MIT,让你更自由地飞 基于ThinkPHP 5.1重构,但核心代码兼容5.0版本,保证老用户最小升级成本 增加对swoole支持,同时支持swoole协程和全同步模式(请单独安装扩展) ...