当前位置: 首页 > article >正文

每日练习(字节青训)

题目:a的替换

给定一个字符串ss,编写一个函数,将字符串中的小写字母a替换为"%100",并返回替换后的字符串。

例如,对于字符串"abcdwa",所有a字符会被替换为"%100",最终结果为%100bcdw%100"

demo

#include <iostream>
#include <string>
using namespace std;

string solution(const string& s) {
    // write code here
    string result;
    for (char c : s) {
        if (c == 'a') {
            result += "%100";
        } else {
            result += c;
        }
    }
    return result; // Placeholder
}

int main() {
   cout << (solution("abcdwa") == "%100bcdw%100") << std::endl;
   cout << (solution("banana") == "b%100n%100n%100") << std::endl;
   cout << (solution("apple") == "%100pple") << std::endl;
    return 0;
}

题目:数字插入问题

小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数,而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。

你需要帮助小U找到这个插入位置,输出插入后的最大结果。

demo 

#include <iostream>
#include <string>
using namespace std;

int solution(int a, int b) {
    // write code here
    string a_str = to_string(a);
    string b_str = to_string(b);
    string max_result = "";

    // 遍历 a_str 的每个位置,尝试插入 b_str
    for (size_t i = 0; i <= a_str.length(); ++i) {
        // 在位置 i 插入 b_str
        string new_number = a_str.substr(0, i) + b_str + a_str.substr(i);
        // 更新最大结果
        if (new_number > max_result) {
            max_result = new_number;
        }
    }
    return stoi(max_result);
}

int main() {
    cout << (solution(76543, 4) == 765443) << endl;
    cout << (solution(1, 0) == 10) << endl;
    cout << (solution(44, 5) == 544) << endl;
    cout << (solution(666, 6) == 6666) << endl;
    return 0;
}
  • 将 a 和 b 转换为字符串,以便进行插入操作。
  • 使用一个循环遍历 a_str 的每个可能插入位置,并在每个位置插入 b_str
  • 每次插入后,比较生成的新数字与当前的最大结果,如果新数字更大,则更新最大结果。
  • 最后,使用 stoi 将形成的最大数字字符串转换为整数并返回。

 

a_str.substr(0, i):这个部分提取 a_str 从索引 0 开始到索引 i 之前的所有字符。也就是说,它获取了 a_str 的前 i 个字符。

a_str.substr(i):这个部分提取 a_str 从索引 i 开始到字符串末尾的所有字符。


http://www.kler.cn/a/398304.html

相关文章:

  • 遇到 mysql_config not found 错误
  • 后台管理系统(开箱即用)
  • java 读取 有时需要sc.nextLine();读取换行符 有时不需要sc.nextLine();读取换行符 详解
  • 从零开始学习 sg200x 多核开发之 uboot saveenv 功能使能
  • Android CALL按键同步切换通话界面上免提和听筒的图标显示
  • LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程
  • Windows配置域名映射IP
  • 软考教材重点内容 信息安全工程师 第 3 章 密码学基本理论
  • 【redis】—— 初识redis(redis基本特征、应用场景、以及重大版本说明)
  • 【第二课】Rust变量与数据类型(一)
  • Android OpenGL ES详解——立方体贴图
  • 电子电气架构 -- 下一代整车电网
  • 微服务即时通讯系统的实现(客户端)----(3)
  • React学习05 - redux
  • MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)
  • Spring:纯注解开发模式-Ioc对bean的管理
  • 聊天服务器(8)用户登录业务
  • Java项目实战II基于微信小程序的课堂助手(开发文档+数据库+源码)
  • RK3588开发板Android12-SDK更新通知
  • halcon3d disparity_image_to_xyz非常重要的算子及使用条件
  • 平均值(水题???)
  • STM32——外部中断
  • 【C语言】连接陷阱探秘(2):命令冲突与static修饰符
  • 【Python系列】Python中打印详细堆栈信息的技巧
  • Synchronized原理
  • K8S单节点部署及集群部署