题解 | #OJ在线编程常见输入输出练习场--J-字符串排序(3)#c++/python3/java

字符串排序(3)

https://ac.nowcoder.com/acm/contest/5657/J

链接:https://ac.nowcoder.com/acm/contest/5657/J
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
对输入的字符串进行排序后输出
打开以下链接可以查看正确的代码
https://ac.nowcoder.com/acm/contest/5657#question

输入描述:
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
示例1
输入
复制
a,c,bb
f,dddd
nowcoder
输出
复制
a,bb,c
dddd,f
nowcoder

思路和心得:

输入时

1.c++可以用stringstream

//c++代码
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string s;
    while (cin >> s)
    {
        stringstream ss;
        ss << s;

        vector<string> words;
        string word;
        while (getline(ss, word, ','))
        {
            words.push_back(word);
        }

        sort(words.begin(), words.end());
        for (int i = 0; i < (int)words.size() - 1; i ++)
             cout << words[i] << ',';
         cout << words.back() << endl;
    }
    return 0;
}

2.python3 可以用str.split(',')

#python3代码
while True:
    try:
        words = input().split(',')
        words.sort()
        for word in words[:-1]:
            print(word, end = ',')
        print(words[-1])
    except:
        break

3.java可以用nextLine().split(",")

//java代码

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner scan = new Scanner(System.in);

        while (scan.hasNextLine())
        {
            String[] words = scan.nextLine().split(",");
            Arrays.sort(words, (w1, w2) -> w1.compareTo(w2));
            int wn = words.length;
            for (int i = 0; i < wn - 1; i ++)
            {
                System.out.print(words[i] + ',');
            }
            System.out.println(words[wn-1]);
        }

    }
}
全部评论

相关推荐

秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++&nbsp;&amp;&nbsp;Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
6
1
分享
牛客网
牛客企业服务