[C国演义] 第十五章

2023-10-17 07:36
文章标签 演义 第十五章

本文主要是介绍[C国演义] 第十五章,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第十五章

  • 最长湍流子数组
  • 环绕字符串中唯⼀的⼦字符串

最长湍流子数组

力扣链接

子数组 ⇒ dp[i]的含义: 以arr[i] 结尾的所有子数组中的最长湍流子数组的长度

子数组 ⇒ 状态转移方程根据 最后一个位置来划分👇👇👇


  • 初始化: 都初始化为1 ⇒ 1. 一个数字也是一个湍流子数组. 2. 可以少考虑四种状态
  • 遍历方向: 从前往后遍历
  • 返回结果: 返回g表 和 f表中的最大值
class Solution {
public:int maxTurbulenceSize(vector<int>& arr) {int n = arr.size();// 建表 + 初始化vector<int> f(n, 1), g(n, 1);int res = 1;for(int i = 1; i < n; i++){if(arr[i] >arr[i-1])f[i] = g[i-1] + 1;else if(arr[i] < arr[i-1])g[i] = f[i-1] + 1;res = max(res, max(f[i], g[i]));}return res;}
};


环绕字符串中唯⼀的⼦字符串

力扣链接

子数组 ⇒ dp[i]的含义 以s[i] 结尾的所有子数组中环绕字符串的最长长度
状态转移方程:

  • 初始化: 都初始化为1 ⇒ 1. 一个字符也满足环形子数组的条件, 2. 少考虑两种状态
  • 遍历方向: 从前往后
  • 返回结果: 去重dp[i] + 累加dp[i]
class Solution {
public:int findSubstringInWraproundString(string s) {int n = s.size();// 建表 + 初始化vector<int> dp(n, 1);for(int i = 1; i < n; i++){if(s[i] == s[i-1] + 1 || (s[i-1] == 'z' && s[i] == 'a'))dp[i] = dp[i-1] + 1;}// 去重 -- 找到每个字母结尾的最大长度int hash[26] = {0};for(int i = 0; i < n; i++){hash[s[i] - 'a'] = max(hash[s[i] - 'a'], dp[i]);}// 统计结果int res = 0;for(auto e : hash){res += e;}return res;}
};


“殃莫大于叨天之功,罪莫大于掩人之善,恶莫深于袭下之能,辱莫重于忘己之耻,四者备而祸全。” — — 王阳明
译文:简译:最大的灾殃就是贪天之功,或将自己的功劳当成与天的功劳相当,最大的罪过就是埋没他人的善行,邪恶没有比偷袭别人的落难更大的,(或罪恶没有比乘人不备而进攻下属中的能人还深的),最大的耻辱就是忘记自己受到过的羞辱,这四者全都具备,各种灾祸就会降临。

这篇关于[C国演义] 第十五章的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/223914

相关文章

第十五章 WS-Policy 配置类详细信息 - 配置 XData 块的详细信息(二)

文章目录 第十五章 WS-Policy 配置类详细信息 - 配置 XData 块的详细信息(二)`<method>``<request>``<response>` 第十五章 WS-Policy 配置类详细信息 - 配置 XData 块的详细信息(二) <method> <method> 元素将策略与父 <service> 元素指定的 Web 服务或客户端内的特定 Web 方法

第十五章、 Io流

第十五章、 Io流 15.1 文件 15.1.1 文件的基本使用 什么是文件 文件是保存数据的地方,比如:我们经常使用的word文档、txt文件、Excel文件……等等。它即可以是保存一张图片,也可以保存视频和音频等等。 文件流 文件在程序中是以流的形式来操作的 流:数据在数据源(文件)和程序(内存)之间经历的路径 输入流:数据从数据源(文件)到程序(内存)的路径 输出流:数据从程

第十五章_部署

15.1、部署描述符概述 web-app元素为根元素,并且可以利用子元素来指定以下内容 1、servlet声明 2、servlet映射 3、ServletContext初始参数 4、会话配置 5、监听器类 6、过滤器定义和映射 7、MIME类型映射 8、welcome文件列表 9、错误页面 10、JSP相关的特定设置 11、JNDI设置   15.1.1、核心元素 c

第十五章(二) FIFO、消息队列及信号量

FIFO     FIFO也称为命名管道,没有了未命名管道只能在两个相关进进程之间才能运行的局限性;     通过FIFO, 两个不相关的进程也能交换数据。     FIFO是一种文件类型,通过stat结构的 st_mode 成员的编码可以知道文件是否是FIFO类型。 可以用 S_ISFIFO宏对此进行测试。     创建FIFO类似于 创建文件,路径名是事实存在的。     函数    in

算法导论 总结索引 | 第四部分 第十五章:数据结构的扩张

1、动态规划(dynamic programming)与分治方法相似,都是通过组合子问题的解 来求解原问题 分治方法 将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来。求出原问题的解 与之相反,动态规划则用于 子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题) 分治算法会做许多次冗繁的工作,它会反复地求解那些公共子子问题。而

2024.06.18【读书笔记】丨生物信息学与功能基因组学(第十五章 真菌基因组 第二部分)【AI测试版】

读书笔记:《生物信息学与功能基因组学》第十五章 - 第二部分 摘要 本部分深入探讨了真菌基因组的生物信息学分析,包括基因组测序策略、基因识别与功能注释,以及基因组复制对真菌进化的影响。此外,还讨论了功能基因组学方法在真菌研究中的应用。 目录 真菌基因组测序策略基因识别与功能注释基因组复制与真菌进化功能基因组学在真菌研究中的应用 正文 真菌基因组测序策略 描述了全基因组“鸟枪”法测序过

15. 第十五章 类和对象

15. 类和对象 到现在你已经知道如何使用函数组织代码, 以及如何使用内置类型来组织数据.下一步将学习'面向对象编程', 面向对象编程使用自定义的类型同时组织代码和数据.面向对象编程是一个很大的话题, 需要好几章来讨论. 本章的代码示例可以从↓下载,https://github.com/AllenDowney/ThinkPython2/blob/master/code/Point1.p

第十五章 观察者模式

目录 1 观察者模式介绍 2 观察者模式原理 3 观察者模式实现 4 观察者模式应用实例  5 观察者模式总结 1 观察者模式介绍 观察者模式的应用场景非常广泛,小到代码层面的解耦,大到架构层面的系统解耦,再或者 一些产品的设计思路,都有这种模式的影子. 现在我们常说的基于事件驱动的架构,其实也是观察者模式的一种最佳实践。当我们观察某一个对象时,对象传递出的每一个行为都被看

C++ Primer 总结索引 | 第十五章:面向对象程序设计

继承和动态绑定 对程序的编写 有两方面的影响:一是 我们可以更容易地定义与其他类相似 但不完全相同的新类;二是 在使用这些彼此相似的类编写程序时,我们可以在一定程度上 忽略掉它们的区别 在很多程序中都存在着一些相互关联 但是有细微差别的概念。面向对象的程序设计(OOP)适用于这类应用 1、OOP:概述 1、面向对象程序设计的核心思想是 数据抽象、继承 和 动态绑定。通过 使用数据抽象,我们可

密码学《图解密码技术》 记录学习 第十五章

目录 十五章 15.1本章学习的内容 15.2 密码技术小结 15.2.1 密码学家的工具箱 15.2.2 密码与认证 15.2.3 密码技术的框架化 15.2.4 密码技术与压缩技术 15.3 虚拟货币——比特币 15.3.1 什么是比特币 15.3.2 P2P 网络 15.3.3地址 15.3.4 钱包 15.3.5 区块链 15.3.6 区块的添加 15.3