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

华为机试牛客刷题之HJ14 字符串排序

HJ14 字符串排序

描述
对于给定的由大小写字母混合构成的 n 个单词,输出按字典序从小到大排序后的结果。

从字符串的第一个字符开始逐个比较,直到找到第一个不同的位置,通过比较这个位置字符对应的(A<⋯<Z<a<⋯<z )得出字符串的大小,称为字典序比较。

输入描述:
第一行输入一个整数 n(1≦n≦1000) 代表给定的单词个数。
此后 n 行,每行输入一个长度 1≦length(s)≦100 ,由大小写字母混合构成的字符串 s ,代表一个单词。

输出描述:
输出 n 行,每行输出一个字符串,代表排序后的结果。第一行输出字典序最小的单词。

示例1

输入:
11
cap
to
cat
card
two
too
up
boat
boot
AA
Aa

输出:
AA
Aa
boat
boot
cap
card
cat
to
too
two
up

思路是读取输入的多行字符串,首行为数字表示后续字符串数量,剩余行存入数组。通过冒泡排序将字符串按字典序升序排列。compareTo() 方法区分大小写(大写字母排在小写字母之前)。

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            int len = Integer.parseInt(in.nextLine());
            String[] datas = new String[len];
            for(int k=0;k<len;k++){
                datas[k] = in.nextLine();
            }
            for(int i=0;i<len;i++){
                for(int j=0;j<len-i-1;j++){
                    if(datas[j].compareTo(datas[j+1]) > 0){
                        String temp = datas[j];
                        datas[j] = datas[j+1];
                        datas[j+1] = temp;
                    }
                }
            }
            for(int k=0;k<len;k++){
                System.out.println(datas[k]);
            }
            
        }
    }
}

相关文章:

  • 通过数据集微调LLM后怎么调用
  • 手写 Promise 的实现
  • Redis7系列:设置开机自启
  • 贪心算法三
  • 3月09日奇怪的Incorrect datetime value
  • git worktree的使用
  • c语言笔记 内存管理之栈内存
  • npm终端执行时报错
  • XGBoost介绍
  • 【Academy】OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities
  • 【Java代码审计 | 第十一篇】SSRF漏洞成因及防范
  • git子仓库管理的两种方式
  • 【Python】整数除法不正确,少1的问题,以及有关浮点数转换的精度问题
  • 二:RV1126的VDEC视频解码模块的工作流程
  • AI革命编程学习:Python语法速通与高阶突破全实战(第二部分:AI辅助调试与高阶编程)
  • Flink-DataStreamAPI-生成水印
  • C++使用BFS求解最短路径
  • NS3学习——运行自定义拥塞控制算法步骤
  • 动态规划中固定倒数第二个数与倒数第一个数的区别与应用场景分析 —— 从最长等差数列问题到统计等差数列个数的填表策略对比
  • 关于前后端整合和打包成exe文件的个人的总结和思考
  • 以色列“全面接管”加沙“雷声大雨点小”:援助政策引内讧,美欧失去耐心
  • 菲律宾华人“钢铁大王”撕票案两主谋落网,部分赎金已被提取
  • 国家发改委:系统谋划7方面53项配套举措,推动民营经济促进法落地见效
  • MiniMax发布新一代语音大模型
  • 花旗回应减员传闻:持续评估人力资源战略,将为受影响的个人提供支持
  • 招商基金总经理徐勇因任期届满离任,“老将”钟文岳回归接棒