• Lc5413_重新排列句子中的单词


    package com.example.demo;
    
    /**
     * 5413. 重新排列句子中的单词
     * 显示英文描述
     * 我的提交
     * 返回竞赛
     * <p>
     * 通过的用户数
     * 1668
     * 尝试过的用户数
     * 2012
     * 用户总通过次数
     * 1678
     * 用户总提交次数
     * 3409
     * 题目难度
     * Medium
     * 「句子」是一个用空格分隔单词的字符串。给你一个满足下述格式的句子 text :
     * 句子的首字母大写
     * text 中的每个单词都用单个空格分隔。
     * 请你重新排列 text 中的单词,使所有单词按其长度的升序排列。如果两个单词的长度相同,则保留其在原句子中的相对顺序。
     * 请同样按上述格式返回新的句子。
     * <p>
     * 示例 1:
     * 输入:text = "Leetcode is cool"
     * 输出:"Is cool leetcode"
     * 解释:句子中共有 3 个单词,长度为 8 的 "Leetcode" ,长度为 2 的 "is" 以及长度为 4 的 "cool" 。
     * 输出需要按单词的长度升序排列,新句子中的第一个单词首字母需要大写。
     * 示例 2:
     * 输入:text = "Keep calm and code on"
     * 输出:"On and keep calm code"
     * 解释:输出的排序情况如下:
     * "On" 2 个字母。
     * "and" 3 个字母。
     * "keep" 4 个字母,因为存在长度相同的其他单词,所以它们之间需要保留在原句子中的相对顺序。
     * "calm" 4 个字母。
     * "code" 4 个字母。
     * 示例 3:
     * 输入:text = "To be or not to be"
     * 输出:"To be or to be not"
     */
    public class Lc5413 {
        public static String arrangeWords(String text) {
            String[] strs = text.split(" ");
            for (int i = 0; i < strs.length; i++) {
                for (int j = 0; j < strs.length - 1; j++) {
                    if (strs[j].length() > strs[j + 1].length()) {
                        String temp = strs[j];
                        strs[j] = strs[j + 1];
                        strs[j + 1] = temp;
                    }
                }
            }
    
    
            StringBuffer stringBuffer = new StringBuffer();
            for (int i = 0; i < strs.length; i++) {
                if (i == 0) {
                    String temp =
                            strs[i].substring(0, 1).toUpperCase() + strs[i].substring(1, strs[i].length());
                    stringBuffer.append(temp);
    
                } else {
                    stringBuffer.append(" ");
                    stringBuffer.append(strs[i].toLowerCase());
                }
    
            }
    
    
            return stringBuffer.toString();
        }
    
        public static void main(String[] args) {
    //        String str = "Leetcode is cool";
            String str = "Keep calm and code on";
            System.out.println(arrangeWords(str));
        }
    }
  • 相关阅读:
    Oracle EBS 初始化用户密码
    Oracle EBS FND User Info API
    linux ERROR: ld.so: object '/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded: ignored.
    linux解压cpio.gz类型文件
    linux删除乱码文件
    linux使用man命令后退出
    linux字符图形界面
    Red Hat linux 如何增加swap空间
    Linux删除文件夹命令
    Linux本地无法登录,远程却可以登录
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/12904768.html
Copyright © 2020-2023  润新知