虾皮C++软件开发笔试

反转语句

详细描述

将指定字符串中每个单词的字符顺序反转,需要保留空格和单词的初始顺序不变。

提示:

在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

基他

时间限制:1000ms

内存限制:256.0MB

输入输出示例

示例1

输入

"hello world, my friends"

输出

"olleh ,dlrow ym sdneirf"

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string ReverseString(string originStr) {
    string reversedStr;
    string word;
    for (char ch : originStr) {
        if (ch != ' ') {
            word.push_back(ch); // 构建单词
        } else {
            reverse(word.begin(), word.end()); // 反转单词
            reversedStr += word; // 加入反转后的单词
            reversedStr += ' '; // 加入单词后的空格
            word.clear(); // 清空单词,准备下一个
        }
    }
    if (!word.empty()) {
        reverse(word.begin(), word.end()); // 反转最后一个单词
        reversedStr += word; // 加入反转后的单词
    }
    return reversedStr;
}

int main() {
    string input = "hello world, my friends";
    string output = ReverseString(input);
    cout << "Input: \"" << input << "\"" << endl;
    cout << "Output: \"" << output << "\"" << endl;
    return 0;
}

购买最多的LOL英雄

详细描述

英雄联盟游戏中新出几个英雄,用长度为n的数组 costs 表示每个英雄的定价,基中costs[i]

表示第i个英雄的点券价格。假如你一共有coins 点券可以用于消费,且想要实尽可能多的英雄并三选择英雄按costs[i]给出顺序获取。

给你价格数组 costs 和金币量 coins,请你计算并返回用 coins 金而能够买到最多的英雄列表。

其他

时间限制:1000ms

内存限制:256.0MB

输入输出示例

示例1

输入

[2,1,3,4,5],10

输出

[2,1,3,4]

说明

costs: [2,1,3,4,5] coins:10 能买到的最多英雄为4个,返回[2,1,3,4]

示例2

输入

[10,5

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要发布2024年(2025届)嵌入式软件开发相关岗位笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务