题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/d9aa3894d3aa4887843a85d26daa4437

//设置大小写标记,然后稳定排序

#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>
#include <cctype>
#include <queue>
#include <unordered_map>
#include <unordered_set>
#include <stack>
#include <cstring>
#include <iomanip>
#include <sstream>

using namespace std;

#pragma warning(disable:4996)
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define repr(i, a, b) for(int i = a; i >= (b); --i)
#define trav(a, x) for (auto& a : x)
#define sz(x) (int)(x).size()

const int maxn = 10005;
const int INF = 0x3f3f3f3f;

struct node {
    char ch;
    bool isbig;
    node (char c, bool is) : ch(c), isbig(is) {}
};
bool cmp (node a, node b) {
    return a.ch < b.ch;
}
int main() {
    string str;
	while (getline(cin, str))
	{
		vector<node> t;
        rep(i, 0, sz(str)) {
            if (str[i] >= 'a' && str[i] <= 'z')
                t.push_back(node(str[i], false));
            else if (str[i] >= 'A' && str[i] <= 'Z')
                t.push_back(node(str[i] - 'A' + 'a', true));
        }
        stable_sort(t.begin(), t.end(), cmp);
        int idx = 0;
        rep(i, 0, sz(str)) {
            if (isalpha(str[i])) {
                if (t[idx].isbig)
                    cout << (char)(t[idx++].ch - 'a' + 'A');
                else
                    cout << (char)(t[idx++].ch);
            }
            else
                cout << str[i];
        }
        cout << endl;
	}
    return 0;
}
全部评论

相关推荐

03-21 10:53
复旦大学 Java
大家好,我是@程序员花海,眼下&nbsp;26&nbsp;届春招、27&nbsp;届暑期实习全面开启,后端卷到没边,AI&nbsp;Agent的岗位占主导,很多牛友在我的评论区留言,想让我出一份Agent学习路线。我特意去看了下,打开淘天的招聘页面,以校招为例,一眼望去全是AI相关的岗位,只能说之后绝大多数岗位都会快速推进AI的落地和实践。之前写过&nbsp;Java&nbsp;后端&nbsp;3&nbsp;个月抢救路线https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users,也收到了牛友们的强烈好评,这次专门给后端转&nbsp;Agent做一套最少必要知识路线——&nbsp;不堆概念、不啃论文,只学面试必问、项目...
在职牛马didi:这篇路线整理得很系统,把后端知识映射到Agent体系这个思路特别实用。我自己也是从Java转做AI的,感触很深:工程底子扎实的人转Agent确实有优势,RAG和工具编排这些核心能力本质上都是后端逻辑的延伸。我们团队在做天猫的AI应用落地,方向跟你这篇路线里的企业级RAG和Agent系统很接近。暑期实习还在招AI应用研发工程师,JD可以参考看看跟你背景是否匹配:https://www.nowcoder.com/jobs/detail/440929?jobId=440929
软件开发投递记录
点赞 评论 收藏
分享
肖先生~:大一点得到公司面试更能学到点东西
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
3423次浏览 43人参与
# HR最不可信的一句话是__ #
1038次浏览 32人参与
# 巨人网络春招 #
11500次浏览 224人参与
# 春招至今,你的战绩如何? #
15205次浏览 141人参与
# AI面会问哪些问题? #
911次浏览 22人参与
# 你的实习产出是真实的还是包装的? #
2862次浏览 52人参与
# 米连集团26产品管培生项目 #
7172次浏览 224人参与
# 沪漂/北漂你觉得哪个更苦? #
1361次浏览 40人参与
# 你做过最难的笔试是哪家公司 #
1161次浏览 20人参与
# AI时代,哪个岗位还有“活路” #
2736次浏览 50人参与
# XX请雇我工作 #
51149次浏览 171人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7982次浏览 43人参与
# 简历第一个项目做什么 #
32100次浏览 359人参与
# 简历中的项目经历要怎么写? #
310955次浏览 4260人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152854次浏览 889人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187566次浏览 1123人参与
# AI时代,哪些岗位最容易被淘汰 #
64582次浏览 867人参与
# 如果重来一次你还会读研吗 #
229990次浏览 2011人参与
# 投格力的你,拿到offer了吗? #
178284次浏览 891人参与
# 你怎么看待AI面试 #
180699次浏览 1298人参与
# 正在春招的你,也参与了去年秋招吗? #
364256次浏览 2641人参与
# 腾讯音乐求职进展汇总 #
160831次浏览 1114人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务