当前位置: 首页 > news >正文

蓝桥杯习题

https://www.lanqiao.cn/problems/1265/learning/

第一题---排序

        给定一个长度为N的数组A,请你先从小到大输出它的每个元素,再从大到小输出他的每个元素。

输入描述:

第一行包含一个整数N

第二行包含N个整数a1,a2,a3,...an,表示数组A的元素

输出描述:

输出共两行,每行包含N个整数,表示答案。

示例:5                                                   1 2 3 5 6

           1 3 2 6 5                                       6 5 3 2 1

  public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();Integer []arr = new Integer[n];for (int i = 0; i < n; i++) {arr[i] = sc.nextInt();}Arrays.sort(arr);for(int x:arr){System.out.print(x + " ");}System.out.println();Arrays.sort(arr, (o1, o2) -> o2 - o1);for(int x:arr){System.out.print(x + " ");}}

第二题---拼数

        给定n个正整数a1,a2,a3,...an,你可以将它们任意排序。现要将这n个数字连接成一排,即令相邻数字首尾相接,组成一个数。问,这个数最大可以是多少?

输入格式:

第一行输入一个正整数n(1<=n<=20)

第二行输入n个正整数a1,a2,a3,...,an^{^{^{^{^{_{}^{}\textrm{}}}}}}(1<=ai<=10^{^{5}}

输出格式:

输出一个整数,表示答案

示例:3                                  

           13 312 343                                             34331213

 public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String []str = new String[n];for (int i = 0; i < n; i++) {str[i] = sc.next();}Arrays.sort(str,(o1,o2) -> (o2+o1).compareTo(o1+o2));StringBuilder str1 = new StringBuilder();for(String x:str){str1.append(x);}System.out.println(str1);
}

第三题:数位排序

https://www.lanqiao.cn/problems/2122/learning/

         小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。

        例如,2022排在409前面,因为2022的数位之和是6,小于409的数位之和13。

        又如,6排在2022前面,因为 他们的数位之和相同,而6小于2022。

        给定正整数n,m,请问对1到n采用这种方法排序时,排在第m个的元素是多少?

输入格式:

输入第一行包含一个正整数n

第二行包含一个正整数m

输出格式

输出一行包含一个整数,表示答案。

示例:13 

           5                                  3

import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();//f[i][0]表示数值大小,f[i][1]表示数位和大小int [][]f = new int [n][2];for (int i = 0; i < n; i++) {f[i][0] = i+1;String x = f[i][0]+"";for (int j = 0; j < x.length(); j++) {f[i][1] += x.charAt(j) - '0';}}Arrays.sort(f,(o1, o2) ->o1[1] == o2[1]?o1[0]-o2[0]:o1[1]-o2[1]);System.out.print(f[m-1][0]);}
}
http://www.lryc.cn/news/329062.html

相关文章:

  • AMS概念以及面试相关整理
  • Vmware下减小Ubuntu系统占用系统盘大小
  • 面试题-Elasticsearch集群架构和调优手段(超全面)
  • python基础练习题6
  • Chrome 插件各模块使用 Fetch 进行接口请求
  • 内存可见性
  • Android room 在dao中不能使用挂起suspend 否则会报错
  • 【stable diffusion扩散模型】一篇文章讲透
  • 数据链路层之信道:数字通信的桥梁与守护者
  • SQL109 纠错4(组合查询,order by..)
  • Spring Boot + Vue 实现文件导入导出功能
  • vue watch 深度监听
  • Qt源码调试步骤记录
  • 大数据面试英文自我介绍参考(万字长文)
  • 外包干了5天,技术退步明显.......
  • Docket常见的软件部署1
  • Qt源程序编译及错误问题解决
  • 作业练习(python)
  • Wireshark使用相关
  • 相机标定学习记录
  • CSS 滚动条样式修改
  • 谈谈配置中心?
  • 人工智能(pytorch)搭建模型25-基于pytorch搭建FPN特征金字塔网络的应用场景,模型结构介绍
  • JRT业务开发起步
  • 深度解析:国内主流音视频产品的核心功能与市场表现
  • 红黑树介绍及插入操作的实现
  • [linux初阶][vim-gcc-gdb] TwoCharter: gcc编译器
  • 单例设计模式(2)
  • boost::asio 启用 io_uring(Linux 5.10)队列支持
  • Android 自定义坐标曲线图(二)