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

自己有服务器如何建设微网站百度信息流

自己有服务器如何建设微网站,百度信息流,wordpress修改引用地址,wordpress模板 微信蓝桥杯-数位排序1、问题描述2、解题思路3、代码实现1、问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。 例如, 2022 排在 409 前面, 因为 2022 的数位…

蓝桥杯-数位排序

  • 1、问题描述
  • 2、解题思路
  • 3、代码实现

1、问题描述

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

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

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

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

输入格式

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

  第二行包含一个正整数 m

输出格式

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

样例输入

13
5

样例说明

  1 到 13 的排序为: 1,10,2,11,3,12,4,13,5,6,7,8,91,10,2,11,3,12,4,13,5,6,7,8,9 。第 5 个数为 3 。

评测用例规模与约定

  • 对于 30%30% 的评测用例, 1≤m≤n≤3001≤mn≤300 。

  • 对于 50%50% 的评测用例, 1≤m≤n≤10001≤mn≤1000 。

  • 对于所有评测用例, 1≤m≤n≤1061≤mn10610^6106

运行限制

  • 最大运行时间:3s
  • 最大运行内存: 512M

2、解题思路

  我们可以用Map的key存真实的数字,用value存每个数字的位数之和,最后再根据Map的value进行排序返回一个新的Map或者List就行。

  注意:如果最后用List收集结果,那我们收集的是Map中排好序之后的key,此时的value对我们已经没用了,所以不要也行,直接用List比较方便,这里用LinkedHashMap去收集也是可以的。

3、代码实现

  写一个计算位数之和的函数

//返回位数和public static Integer sum(int number){int [] nums=new int[String.valueOf(number).length()];int temp=number;for (int i = 0; i < nums.length; i++) {nums[i]=temp%10;temp=(temp-nums[i])/10;}return Arrays.stream(nums).sum();}

   就是计算一个数字的个位、十位、百位等等,取模之后减去取模结果再除10就行(十进制)。

public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();HashMap<Integer, Integer> map = new HashMap<>();for (int i = 1; i <= n; i++) {//value存位数之和map.put(i,sum(i));}//将排序之后的key用List收集,此时value对我们已经没用了。List<Integer> collect = map.entrySet().stream().sorted((o1, o2) -> o1.getValue().compareTo(o2.getValue())).map(Map.Entry::getKey).collect(Collectors.toList());System.out.println("排序之后的key:"+collect);    System.out.println(collect.get(m - 1));}

  运行结果如下:

image-20230226184828447

  这里用Map去收集结果也是可以的,用LinkedHashMap收集结果的代码如下所示:

HashMap<Integer, Integer> collect = map.entrySet().stream().sorted((o1, o2) -> o1.getValue().compareTo(o2.getValue())).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue,(oldValue, newValue) -> newValue,LinkedHashMap::new));

  遍历一下key和value

collect.entrySet().forEach(System.out::println);

  运行结果如下:

image-20230226190332502

   这样确实也可以实现,不过已经都可以用List的get(int index)方法直接取出结果了,我觉得没必要用Map了,还多一步遍历。

http://www.tj-hxxt.cn/news/71560.html

相关文章:

  • 3d演示中国空间站建造历程seo多久可以学会
  • 简单网页制作成品下载青岛网站seo诊断
  • 个人做收费网站推销产品怎么推广
  • 呼市做网站南京seo排名扣费
  • 建站教程下载公司软文推广
  • b2b网站分为网页制作html代码
  • 社区教育网站建设方案西安网站seo厂家
  • 上海网站建设 分类广告百度竞价有点击无转化
  • 装饰网站建设市场推广
  • 一品威客网是干嘛的seo公司上海牛巨微
  • 汕头建站方案电商营销推广方法
  • 如何做国际网站亚马逊排名seo
  • 网站a记录的是做cname视频推广
  • 什么网站可以做试题怎么把自己的产品推广出去
  • app大全软件网站自动外链网址
  • 科普网站建设电子商务网站开发
  • 平台b2c网站建设百度推广代理商与总公司的区别
  • 汶上外贸网站建设太原网站快速排名提升
  • 网站建设中问题分析与解决郑州靠谱seo整站优化
  • 房地产公司网站下载线上营销推广方案有哪些
  • 网上服装定制网站百度网址收录入口
  • 北京做网站哪家公司最好官方正版清理优化工具
  • 最便宜的网站建设seo优化查询
  • 怎么配置网站服务器青岛网站建设制作公司
  • 个人网站创建现在做百度推广有用吗
  • wps演示做的和网站导航seo每日工作内容
  • 网站备案取消重新备案外贸营销网站制作公司
  • 企业网站设计沈阳站外推广方式有哪些
  • 银川做淘宝网站的微信营销软件
  • wordpress主题怎么编辑电脑优化大师