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

网站开发客户对话百度推广怎么做网站的优化

网站开发客户对话,百度推广怎么做网站的优化,低价建站在哪里买,wordpress主题如何安装一、问题描述 给定 nn 个正整数 a1,a2,…,ana1​,a2​,…,an​,你可以将它们任意排序。现要将这 nn 个数字连接成一排,即令相邻数字收尾相接,组成一个数。问,这个数最大可以是多少。 输入格式 第一行输入一个正整数 nn&#xff…

一、问题描述

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

输入格式

第一行输入一个正整数 nn(1≤n≤201≤n≤20)。

第二行输入 nn 个正整数 a1,a2,…,ana1​,a2​,…,an​(1≤ai≤1051≤ai​≤105)。

样例输入

3
13 312 343

样例输出

34331213

二、代码展示

import java.util.Scanner;
import java.util.Arrays;// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...int num = scan.nextInt();scan.nextLine();String[] str = new String[num];for(int i = 0; i < num ; i++)str[i] = scan.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);scan.close();}
}

三、Arrays.sort() 排序

 Java 的 `Arrays.sort` 方法,通过 Lambda 表达式自定义了排序规则。
Arrays.sort(str, (o1, o2) -> (o2 + o1).compareTo(o1 + o2));

 1. `Arrays.sort` 方法简介

`Arrays.sort` 是 Java 中用于对数组进行排序的方法。它有多种重载形式,其中一种允许传入一个自定义的比较器(Comparator)来定义排序规则。

2. Lambda 表达式解析


(o1, o2) -> (o2 + o1).compareTo(o1 + o2)

这是一个 Lambda 表达式,用于实现 `Comparator<String>` 接口的 `compare` 方法。具体来说:

参数:
   `o1` 和 `o2` 是待比较的两个字符串。

 逻辑:
   将 `o2` 和 `o1` 连接起来形成新的字符串 `o2 + o1`。
   将 `o1` 和 `o2` 连接起来形成新的字符串 `o1 + o2`。
   使用 `compareTo` 方法比较这两个新字符串的字典序。

 3. 排序规则解释

这个比较器的逻辑实际上是用"按字典序拼接后的结果进行排序",具体来说:

 如果 `o2 + o1` 在字典序上小于 `o1 + o2`,则 `o2` 应该排在 `o1` 前面。
 反之,如果 `o1 + o2` 小于 `o2 + o1`,则 `o1` 应该排在 `o2` 前面。

这种比较方式常用于将一组数字字符串按拼接后最大的字典序排序。例如,对于字符串数组 `["3", "30", "34", "5", "9"]`,排序后的结果将是 `["9", "5", "34", "3", "30"]`,因为拼接后的字符串 `"9534330"` 是最大的。

 4. 示例代码

以下是一个完整的示例,展示如何使用这段代码对字符串数组进行排序:


import java.util.Arrays;

public class CustomSortExample {
    public static void main(String[] args) {
        String[] str = {"3", "30", "34", "5", "9"};
        
        // 使用自定义比较器排序
        Arrays.sort(str, (o1, o2) -> (o2 + o1).compareTo(o1 + o2));
        
        // 输出排序后的数组
        System.out.println(Arrays.toString(str));
    }
}


输出结果:
[9, 5, 34, 3, 30]

5. 注意事项

类型匹配:确保传入 `Arrays.sort` 的数组类型与 Lambda 表达式的参数类型一致。在上面的例子中,`str` 是 `String[]` 类型,因此 Lambda 的参数也是 `String` 类型。
  
稳定性:`Arrays.sort` 在 Java 8 及之后的版本中使用的是稳定的排序算法(TimSort),因此如果两个元素在比较时被认为是相等的,它们的相对顺序不会改变。

性能:对于大规模的数据集,自定义比较器的性能可能会影响整体排序效率。确保比较逻辑尽可能高效。

http://www.yayakq.cn/news/145272/

相关文章:

  • 做设计在哪个网站上找高清图片大全网站改版的方式
  • 上海十大网站建设两岸已进入准战争状态
  • 门户网站开发步骤中国微电影 网站开发者
  • 网站升级建设招标公告自己制作wordpress plugin
  • 触屏版网站开发做网站报价表
  • 嘉兴网站建设运营威海做网站的公司哪家好
  • 用什么软件做网站最简单led高端网站建设
  • 仿站网站建站优化易下拉系统
  • 如皋市建设局网站在哪里网站后台浏览器
  • 沧州网站制作公司商城网站怎么做seo
  • 国际物流公司网站网站怎样上传到空间
  • 做网站一般注意些什么长春免费网站制作
  • 鞍山高新区网站域名申请而完成以后怎么做网站
  • 网站收录怎么删angularjs 做电商网站
  • 网站帮忙备案互联网项目代理
  • 有没有免费的网站做自媒体一般都注册几个网站
  • 台州市建站公司株洲做网站的公司
  • 网站建设如何控标宁波seo行业公司推荐
  • 广州知名网站建设有哪些二维码生成网址链接
  • 宁德企业网站建设南昌做网站费用
  • 东莞市手机网站建设平台不同的网站 做301
  • 建设网站上申请劳务资质推广计划可以按照()等方法进行搭建
  • 淮南网站建设全包室内装修设计软件免费
  • 成都网站制作怎么收费淄博网站定制
  • flash静态网站简述网站建设一般流程
  • 做餐饮连锁在哪个网站看云南建设厅官方网站
  • 潍坊网站建设报价费用西安有什么好玩的地方
  • 武进网站建设价格佛山做网站建设
  • 南京网站建设培训班建了网站但是百度搜索不到
  • 地方门户网站app简单建设网站首页