zoukankan      html  css  js  c++  java
  • 图解算法——句子逆序

    1、题目描述

    将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”,所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

    题目来源:
    https://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1

    2、示例

    输入描述:

    输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。

    输出描述:

    得到逆序的句子。

    示例1

    输入:I am a boy

    输出:boy a am I

    3、解题思路

    根据前两篇的文章,想要求到最快的方法,应该是字节读取。但那是一个单词或者一个数字,长度比较短,而这里是句子,长度较长。

    我们想,一个英文句子里,除了有单词,还有什么?当然是空格呀。

    故:我们可以先读取到目标句子,然后根据空格来隔开,获得一个字符串数组,这样数组里每个节点里都是一个单词。

    然后我们逆序输出,并手动加空格,然后最后一个输出要手动输出,因为最后一个单词后没有空格。

    代码如下:

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNextLine()){
                String str = sc.nextLine();
                String[] res = str.split(" ");
                for(int i = res.length-1; i>0; i--){
                    System.out.print(res[i]+" ");
                }
                System.out.println(res[0]);
            }
        }
    }

    查看提交速度如何:

     我想着可能还会有更好地办法,我查了下思路基本都差不多,但是纳闷了,内存如何才能更小呢?欢迎各位大佬提出宝贵建议,谢谢~~

    Over.......

  • 相关阅读:
    mongodb远程连接配置
    CentOs系统设置python版本
    python非官方模块下载大全
    Series.str——字符串批量处理方法
    gevent-协程用法
    与vnpy相关的有用博客网址
    vnpy官网说明文档网址
    Opencv各种编码器下视频文件大小对比
    Linux下python默认版本切换成替代版本
    CPU拓扑结构
  • 原文地址:https://www.cnblogs.com/gjmhome/p/15072574.html
Copyright © 2011-2022 走看看