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

L45---506.相对名次(java)--排序

1.题目描述

在这里插入图片描述

2.知识点

(1)String.join(" ", words) 是 Java 中的一个语法,用于将数组或集合中的元素连接成一个单独的字符串,连接时使用指定的分隔符。这里的 " " 是作为分隔符使用的一个空格字符串。

String[] words = {"This", "is", "a", "test"};
//我们希望将这些单词连接成一个字符串,并在每个单词之间插入一个空格:
String result = String.join(" ", words);
//result 将会是:"This is a test"

(2)a.charAt(index) 是 Java 中 String 类的一个方法,用于返回字符串 a 中指定索引位置的字符。

public char charAt(int index)

(3)words 数组经过排序后是 {“This1”, “is2”, “a3”, “sentence4”}。
第一次迭代:

word = "This1";
word.substring(0, word.length() - 1) = "This";
result.append("This").append(" ");

result 变为 "This "。

第二次迭代:

word = "is2";
word.substring(0, word.length() - 1) = "is";
result.append("is").append(" ");

result 变为 "This is "。
第三次迭代:

word = "a3";
word.substring(0, word.length() - 1) = "a";
result.append("a").append(" ");

result 变为 "This is a "。
第四次迭代:

word = "sentence4";
word.substring(0, word.length() - 1) = "sentence";
result.append("sentence").append(" ");

result 变为 "This is a sentence "。
(4)转换为字符串并移除多余的空格:
result.toString().trim() = “This is a sentence”;
StringBuilder对象没有trim()方法,并且trim()方法属于String类,不能直接对StringBuilder对象调用trim()方法。另外,Java中的trim()方法是不可变的,这意味着trim()方法会返回一个新的String对象,而不会修改原始字符串。

3.代码实现

class Solution {public String sortSentence(String s) {String[] words=s.split(" ");Arrays.sort(words,(a,b)->Character.compare(a.charAt(a.length()-1),b.charAt(b.length()-1)));// 将排序后的单词连接成一个字符串,中间用空格分隔//return String.join(" ",words);StringBuilder sb=new StringBuilder();for(String word:words){sb.append(word.substring(0,word.length()-1)).append(" ");}return sb.toString().trim();}
}
http://www.lryc.cn/news/366610.html

相关文章:

  • 跨网段路由
  • HO-3D 数据集
  • Elasticsearch 认证模拟题 - 8
  • 【Postman接口测试】第四节.Postman接口测试项目实战(中)
  • Hadoop的Windows环境准备
  • 使用亮数据代理IP爬取PubMed文章链接和邮箱地址
  • electron调用dll时应用程序闪退
  • 单片机原理及技术(三)—— AT89S51单片机(二)(C51编程)
  • 摄影店展示服务预约小程序的作用是什么
  • 【数据分析基础】实验一 Python运算符、内置函数、序列基本用法
  • 【Redis】构建强韧的远程Redis连接与端口保障机制完美指南
  • Flowable项目启动报错#java.time.LocalDateTime cannot be cast to java.lang.String
  • 《数字电路》
  • STM32F103 点亮LED闪烁与仿真
  • 阿里云服务器发送邮件失败 Could not connect to SMTP host: smtp.xxx.com, port: 465;
  • Socket编程权威指南(二)完美掌握TCP流式协议及Socket编程的recv()和send()
  • 当C++的static遇上了继承
  • Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解
  • 5 分钟内构建一个简单的基于 Python 的 GAN
  • 智能硬件产品中常用的参数存储和管理方案
  • SwiftUI中Mask修饰符的理解与使用
  • 全光网络与传统网络架构的对比分析
  • stack overflow复现
  • mybatis使用笔记
  • 学习笔记——路由网络基础——路由概述
  • 在量子计算时代,大数据技术将面临哪些挑战和机遇?
  • 怎么换自己手机的ip地址
  • 搭建 Langchain-Chatchat 详细过程
  • C++期末复习
  • 2005-2022年各省居民人均消费支出数据(无缺失)