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

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.hqwc.cn/news/499502.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kali安装ARL灯塔(docker)

1、root身份进入容器 ┌──(root㉿Kali)-[~/桌面] └─# su root ┌──(root㉿Kali)-[~/桌面] └─# docker 2、先更新再克隆 ┌──(root㉿Kali)-[~/桌面] └─# apt-get update …

论文笔记:基于互信息估计和最大化的深度表示学习

整理了ICLR2019 LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION&#xff09;论文的阅读笔记 背景模型 论文地址&#xff1a;DIM code&#xff1a;代码地址 背景 发现有用的表示是深度学习的一个核心目标&#xff0c;由于之前的工作已经可以…

苍穹外卖知识点总结(一)

简介 技术选型 展示项目中使用到的技术框架和中间件。 用户层&#xff1a;node.js Vue.js ElementUI 微信小程序 apache echarts 网关层&#xff1a;nginx 应用层&#xff1a;Spring Boot Spring MVC Spring Task httpclie…

USACO 2024 Feb Bronze铜组题解

闲话:今天是4年一度的奇观——2月29日!(地球人都知道) 所以为了纪念这个特殊的日子&#xff0c;我决定倒着讲。这是什么奇怪的规矩&#xff1f;(雾 Maximizing Productivity: 二分即可。 #include <bits/stdc.h> using namespace std; const int maxn200005; int c[ma…

LTE 网络与互联网的连接

LTE 网络与互联网的连接 当用户设备 UE&#xff08;如手机&#xff09;开机后&#xff0c;就登记到 LTE 网络&#xff0c;以便使用网络资源传送 IP 数据业务。 LTE 网络内的数据路径由两大部分组成&#xff1a; -空口无线链路&#xff08;UE→eNB&#xff09;。 -核心网中的隧…

模糊PID控制算法实战讲解-案例温度控制(附C语言实现)

可结合之前的文章一起理解&#xff1a; 控制算法-PID算法总结-从公式原理到参数整定解析&#xff08;附C源码&#xff09;_pid自整定算法-CSDN博客 模糊控制算法实战讲解-案例温度控制&#xff08;附C语言实现&#xff09;-CSDN博客 目录 一、模糊PID控制的原理 1.1 模糊化…

java009 - Java调试debugger

1、debugger概述 程序的调试工具&#xff0c;用于查看追踪程序的执行流程&#xff0c;也可以调试程序。 2、debugger调试流程 2.1 如何加断点 2.2 如何运行加了断点的程序 在代码区域右键---->debugger执行 2.3 看哪里 看console窗口 2.4 点哪里 点step into(F7)这个箭…

5个顶级AI训练数据提供商

人工智能革命极大地改变了世界&#xff0c;其影响遍及全球各个行业。 它改变了企业的典型运营方式&#xff0c;从而显着提高了生产力。 大多数公司已经使用或正在考虑某种形式的人工智能。 但为了让机器获得准确的结果&#xff0c;需要可以输入机器学习算法的高质量标记数据。…

HarmonyOS—开发云数据库

您可以在云侧工程下开发云数据库资源&#xff0c;包括创建对象类型、在对象类型中添加数据条目、部署云数据库。 创建对象类型 对象类型&#xff08;即ObjectType&#xff09;用于定义存储对象的集合&#xff0c;不同的对象类型对应的不同数据结构。每创建一个对象类型&#…

【软件测试】接口调不通排查分析+常遇面试题总结

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、接口调不通&am…

代码随想录算法训练营 Day29 | LeetCode491.递增子序列、LeetCode46.全排列、LeetCode47.全排列 II

LeetCode491.递增子序列 该题强调与之前的题目的不同在于给的数组顺序不能变换&#xff0c;这就导致了不能用used数组判断与前一个元素是否相同的方法进行去重的操作&#xff0c;因此该题加入了一个set&#xff0c;不和前一个元素比&#xff0c;而是判断之前有没有处理过这个值…

我是怎样看待 “祖传代码” (浅聊)

来感受一下压迫感吧~ 敬畏之心 程序员应该对祖传代码保有敬畏之心。这些代码库往往承载着公司的核心业务&#xff0c;是前人们花了无数心思&#xff0c;改了无数 bug 后的产物&#xff0c;同时也是公司的命脉所在。对于新加入的程序员来说&#xff0c;理解这些代码的结构、逻…