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

蓝色网站设计湘潭市高新建设局施工报建网站

蓝色网站设计,湘潭市高新建设局施工报建网站,合肥市芜湖官网设计,cms网站是什么意思文章目录 344.反转字符串思路与重点 541. 反转字符串II思路与重点 卡码网:54.替换数字思路与重点 344.反转字符串 题目链接:344. 反转字符串 - 力扣(LeetCode)讲解链接:代码随想录 (programmercarl.com)状态&#xff…

文章目录

  • 344.反转字符串
    • 思路与重点
  • 541. 反转字符串II
    • 思路与重点
  • 卡码网:54.替换数字
    • 思路与重点


344.反转字符串

  • 题目链接:344. 反转字符串 - 力扣(LeetCode)
  • 讲解链接:代码随想录 (programmercarl.com)
  • 状态:一遍AC。

思路与重点

  • 如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数
  • 如果库函数仅仅是解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数
  • swap可以通过位运算实现。
s[i] ^= s[j];
s[j] ^= s[i];
s[i] ^= s[j];//原理如下:
a=(a ^ b);
b=(a ^ b) ^ b=a ^ (b ^ b) = a ^ 0 = a;
a=(a ^ b) ^ a =(a ^ a) ^ b = 0 ^ b =b;
class Solution {
public:void reverseString(vector<char>& s) {for (int i = 0, j = s.size() - 1; i < s.size()/2; i++, j--) {swap(s[i],s[j]);}}
};

541. 反转字符串II

  • 题目链接:541. 反转字符串 II - 力扣(LeetCode)
  • 讲解链接:代码随想录 (programmercarl.com)
  • 状态:两次AC。

思路与重点

  • 其实在遍历字符串的过程中,只要让** i += (2 * k)**,i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。因为要找的也就是每2 * k 区间的起点,这样写,程序会高效很多。所以当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章
class Solution {
public:string reverseStr(string s, int k) {for (int i = 0; i < s.size(); i += (2 * k)) {// 1. 每隔 2k 个字符的前 k 个字符进行反转// 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符if (i + k <= s.size()) {reverse(s.begin() + i, s.begin() + i + k );} else {// 3. 剩余字符少于 k 个,则将剩余字符全部反转。reverse(s.begin() + i, s.end());}}return s;}
};

卡码网:54.替换数字

  • 题目链接:54. 替换数字(第八期模拟笔试) (kamacoder.com)
  • 讲解链接:代码随想录 (programmercarl.com)
  • 状态:一遍AC。

思路与重点

  • 其实很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。这么做有两个好处:1. 不用申请新数组。2. 从后向前填充元素,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题
#include <iostream>
using namespace std;
int main() {string s;while (cin >> s) {int sOldIndex = s.size() - 1;int count = 0; // 统计数字的个数for (int i = 0; i < s.size(); i++) {if (s[i] >= '0' && s[i] <= '9') {count++;}}// 扩充字符串s的大小,也就是将每个数字替换成"number"之后的大小s.resize(s.size() + count * 5);int sNewIndex = s.size() - 1;// 从后往前将数字替换为"number"while (sOldIndex >= 0) {if (s[sOldIndex] >= '0' && s[sOldIndex] <= '9') {s[sNewIndex--] = 'r';s[sNewIndex--] = 'e';s[sNewIndex--] = 'b';s[sNewIndex--] = 'm';s[sNewIndex--] = 'u';s[sNewIndex--] = 'n';} else {s[sNewIndex--] = s[sOldIndex];}sOldIndex--;}cout << s << endl;       }
}
http://www.yayakq.cn/news/155712/

相关文章:

  • 无锡手机网站建设服务wordpress直接
  • 广州建网站要多少钱wordpress 图片模板
  • 学php网站开发多钱哪里有做标书
  • 网站流量突然增加网站页面关键词都一样
  • 电子商务网站平台建设策划wordpress 2018主题
  • 网站更换域名手机端公司网站怎么做
  • 黄山网站建设有哪些php的wordpress
  • 写小说的网站自己做封面安顺市建设局网站
  • 代做一个网站多少钱百度商城官网
  • 什么是网站及其制作步骤自己电脑怎么做网页
  • 微网站是不是就是手机网站wordpress如何防止ddos
  • 电脑建立网站如何自建网站入口
  • 赤峰网站建设培训学校中秋节网页设计实训报告
  • 厦门网站优化公司wordpress app源码
  • 域名购买哪个网站创建虚拟网站做点击
  • 做网站合同范本搬家公司怎么做网站
  • 洞头建设局网站wordpress 更新过慢
  • 做微网站那pc端显示啥辽宁建设厅查询网站首页
  • 陕西网站建设维护网站建设的硬件平台
  • 做网站快速排名seo搜索引擎优化课程总结
  • 百度建立网站需要花多少钱南昌制作网站的公司哪家好
  • 中医院网站源码菏泽网站建设便宜臻动传媒
  • 司法局网站建设wordpress文章导航
  • 威海营销型网站建设局域网wordpress建站
  • 网站建设横向发展纵向发展alexa全球网站排名分析
  • 黑龙江建设教育网站网站作品怎么做
  • 公司企业网站程序下载卖建材的网站
  • 网站建设有什么需求网页设计模拟试题答案
  • 软件开发与网站建设怎么制作网页版的新闻
  • 网站优化方案范文影视后期制作培训机构全国排名