刷题日记 | 字符串扩容和增强型for循环

news/2025/2/15 5:38:30/

for(char c:s)遍历字符串 增强型for循环 

C++ for(char c:s)遍历字符串 增强型for循环_c++ for (char c : s)-CSDN博客


字符串使用前要进行扩容

reserve函数

【C++String类成员函数辨析】resize(),size(),capacity(),reserve()函数的解析与对比_c++ reserve函数-CSDN博客


a.size()

用来计算字符串的长度,末尾的\0不计算在内


交替合并字符串 
 

class Solution {
public:string mergeAlternately(string word1, string word2) {int m=word1.size();int n = word2.size();string ans;int i=0;int j=0;ans.reserve(m+n);while(i<m||j<n){if(i<m){ans.push_back(word1[i]);++i;}if(j<n){ans.push_back(word2[j]);++j;}}return ans;}
};

找不同

class Solution {
public:char findTheDifference(string s, string t) {/*for(int i=0;i<s.size();i++)t[0]^=s[i];for(int i=1;i<t.size();i++)t[0]^=t[i];return t[0];}*/vector<int> cnt(26,0);//创建1个容量为26的动态数组,初始值为0;for(char ch:s) //遍历string每一个元素{cnt[ch-'a']++;//s中存在的字母 对应的cnt值为1}for(char ch:t){cnt[ch-'a']--;//t中存在且s中没有存在的字母 对应的cnt值为-1if(cnt[ch-'a']<0){ return ch;//该元素为s,t中不同的元素}}return ' ';}
};

异或运算的特性:

异或自己得0,任何数异或0得自己本身;
具有交换律、结合律,例如 1^2^3^4^2^3^1 = (1^1)^(2^2)^(3^3)^4 = 0^0^0^4 = 0^4 = 4;
总结:异或运算擅长找不同。
遍历两个字符串,时间复杂度O(m+n)


 

#include <iostream>  
#include <string>  
using namespace std;  int main() {  string date;  cin >> date;  // 假设输入的日期格式是 yyyy-mm-dd,我们需要提取出月份和日期  int month = stoi(date.substr(5, 2)); // 提取月份,从索引5开始,长度为2  int day = stoi(date.substr(8, 2));   // 提取日期,从索引8开始,长度为2  // 判断逻辑:如果月份小于10或者(月份等于10且日期小于等于29),则还可以训练  if (month < 10 || (month == 10 && day < 29)) {  cout << "No. It's not too late."; } else {  cout << "QAQ"; }  return 0;  
}

stoi函数作用是将 n 进制的字符串转化为十进制,使用时包含头文件string

C++常用函数--stoi函数用法总结-CSDN博客date.

date.substr(a,b) //从第a位开始,一共b个 

substr函数的使用-CSDN博客 


http://www.ppmy.cn/news/1364120.html

相关文章

WinForms中的Timer探究:Form Timer与Thread Timer的差异

WinForms中的Timer探究&#xff1a;Form Timer与Thread Timer的差异 在Windows Forms&#xff08;WinForms&#xff09;应用程序开发中&#xff0c;定时器&#xff08;Timer&#xff09;是一个常用的组件&#xff0c;它允许我们执行定时任务&#xff0c;如界面更新、周期性数据…

SpringBoot:Invalid bound statement (not found)的原因和解决方案

&#x1f413; 报错信息&#xff1a; &#xff08;无效绑定声明&#xff09;找不到 解析&#xff1a; 你的mapper实例对象和对应的mapper.xml对象未找到 &#x1f413; 排查&#xff1a; 情况一&#xff1a; 1.排除相对应的mapper实例对象路径是否正确 查看相对应的mapper中…

InnoDB基础篇(3)-InnoDB表的创建与基本操作

MySQL数据库InnoDB表的创建与基本操作 MySQL是一个广泛使用的开源关系型数据库管理系统&#xff0c;而InnoDB是MySQL的默认存储引擎。本文将介绍如何创建InnoDB表以及执行一些常见的基本操作。 创建InnoDB表 要创建一个InnoDB表&#xff0c;需要首先创建一个数据库&#xff…

kubectl使用及源码阅读

目录 概述实践样例yaml 中的必须字段 kubectl 代码原理kubectl 命令行设置pprof 抓取火焰图kubectl 中的 cobra 七大分组命令kubectl createcreateCmd中的builder模式createCmd中的visitor访问者模式外层VisitorFunc分析 结束 概述 k8s 版本 v1.24.16 kubectl的职责 1.主要的…

Spring Security源码学习

Spring Security本质是一个过滤器链 过滤器链本质是责任链设计模型 1. HttpSecurity 【第五篇】深入理解HttpSecurity的设计-腾讯云开发者社区-腾讯云 在以前spring security也是采用xml配置的方式&#xff0c;在<http>标签中配置http请求相关的配置&#xff0c;如用户…

nginx管理命令

nginx管理命令 ngnix作用是多个进程处理网络请求。一部分是管理命令&#xff0c;一部分是配置文件。 nginx管理命令 两种管理方式nginx管理和systemctl管理&#xff0c;注意使用哪种方式开始就用哪种方式结束。 1. nginx管理方式 nginx -t : 检测nginx.conf配置文件的语法 …

mybatis---->tx中weekend类

&#x1f64c;首先weekend可不是mybatis中的类呦~~&#x1f64c; 它是来自于mybatis的一个扩展库&#xff01; 如果你要在springboot中使用&#xff0c;需要引入以下依赖~~ <dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot…

第 3 章 ROS通信机制(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 3.1 常用API 首先&#xff0c;建议参考官方API文档或参考源码: ROS节点的初始化相关API;NodeHandle 的基本使…