签到题-动态规划-买卖股票的最佳时机( 双指针 )
## 双指针 ```python class Solution: def maxProfit(self, prices: List[int]) -> int: # 第i天卖出, ( 0 ~ i-1 )天最便宜时买入 n = len( pric
## 双指针 ```python class Solution: def maxProfit(self, prices: List[int]) -> int: # 第i天卖出, ( 0 ~ i-1 )天最便宜时买入 n = len( pric
在一个串中查找是否出现过另一个串, 这是KMP的看家本领。那么寻找重复子串怎么也涉及到KMP算法了呢? **KMP算法中next数组为什么遇到字符不匹配的时候可以找到上一个匹配过的位置继续匹配,靠的是有计算好的前缀表。** 前缀表里,统计了各个位置为终点字符串的最长相同前后缀的长度。
**KMP: 当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。** --- **1 前缀表记录信息:用来回退,它记录了模式串与主串不匹配的时,模式串应该从哪里开始重新匹配。** > 举例: 在主串aabaabaafa 中查找是否出现过一个模式串
```python class Solution: # 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符,再重新计数。 # 如果剩余字符少于 k 个,则将剩余字符全部反转。 # 如果剩余字符小于
```python class Solution: # 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 # 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 def revers
```python class Solution: # 一个由n个整数组成的数组nums,和一个目标值target。 # 请找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个
~~直接想当然的写,没有去重。错误写法。~~ ```python class Solution: # 给你一个整数数组 nums , # 判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,
```python class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: # 数组本身是有序的 # 平方后影响数组顺序的是负数平方后可能变成较大的数