day9 第四章 字符串part02

字符串总结

1.什么是字符串

理解为字符数组

2.要不要使用库函数

题目关键的部分不要直接用库函数,库函数作为辅助。

了解库函数内部如何实现,分析其时间复杂度

3. 双指针法

例题1.https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html

2.https://programmercarl.com/%E5%89%91%E6%8C%87Offer05.%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC.html

若原本数组空间不够,预先给数组扩容到填充后的所需大小,然后在从后向前进行操作。

3.https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html

4.https://programmercarl.com/0151.%E7%BF%BB%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%87%8C%E7%9A%84%E5%8D%95%E8%AF%8D.html

好处:时间复杂度降低

不用新开一个数组来存储,可原地修改数组;

4.反转

1.https://programmercarl.com/0541.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2II.html

当需要一段一段去处理字符串的时候,i移动就具有了规律;在for循环的表达式上可以改变:

for(int i=0;i<s.size();i+=2*k)

2.https://programmercarl.com/0151.%E7%BF%BB%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%87%8C%E7%9A%84%E5%8D%95%E8%AF%8D.html

综合考察字符串

先整体反转再局部反转

3.https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/

5.kmp

二刷一定

今日练题

单调递增最长子序列

题目PTA | 程序设计类实验辅助教学平台 (pintia.cn)

动态规划:


int Maxadd(int n){

	for(int i=1;i<n;i++){
		for(int j=0;j<i;j++){
			if(a[i]>a[j]){
				b[i]=max(b[j]+1,b[i]);
			}
		}
	}
	int max=b[0];
	for(int i=1;i<n;i++){
		if(b[i]>max)  max=b[i];
	}
	return max;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值