mirror of
https://github.com/SunnyQjm/algorithm-review.git
synced 2026-06-03 08:16:43 +08:00
update
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
# 3 3
|
||||
# / \
|
||||
# 4 4
|
||||
# 返回 false 。
|
||||
# 返回 false。
|
||||
#######################################################################################
|
||||
|
||||
|
||||
|
||||
@@ -106,6 +106,17 @@ class Solution:
|
||||
return res
|
||||
|
||||
def maxSlidingWindow2(self, nums, k):
|
||||
"""
|
||||
思路:
|
||||
1. 用一个双向队列来存储处于窗口内的索引值,该队列有如下性质:
|
||||
- 队列中的元素不会超过窗口大小k
|
||||
- 保证队头元素对应的数一定是当前队列里面最大的值
|
||||
2. 遍历所有的数,每轮执行如下流程:
|
||||
- 如果当前队列中元素已经有k个了,则首先左出队一个元素;
|
||||
- 接着将队列中比当前元素小的数都右出队;
|
||||
- 将当前索引加到队列当中;
|
||||
- 如果当前索引大于等于k-1,则取队头元素加入到结果集当中
|
||||
"""
|
||||
if not nums:
|
||||
return []
|
||||
# window是一个双向队列
|
||||
|
||||
@@ -36,7 +36,7 @@ class Solution:
|
||||
|
||||
思路:
|
||||
1. 用二分查找试图找到目标值;
|
||||
2. 找到则返回其索引,没找到则其可能被插入的位置
|
||||
2. 找到则返回其索引,没找到则返回其可能被插入的位置
|
||||
"""
|
||||
left, right = 0, len(nums) - 1
|
||||
while left + 1 < right:
|
||||
|
||||
@@ -45,7 +45,7 @@ class Solution:
|
||||
if cur.val == pre.val:
|
||||
pre.next = cur.next
|
||||
else:
|
||||
last, pre = cur.val, cur
|
||||
pre = cur
|
||||
cur = cur.next
|
||||
|
||||
return head
|
||||
|
||||
+2
-1
@@ -25,6 +25,7 @@
|
||||
# n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。
|
||||
###################################################################################
|
||||
|
||||
|
||||
class Solution:
|
||||
def myPow(self, x, n):
|
||||
"""
|
||||
@@ -55,7 +56,7 @@ class Solution:
|
||||
return x * self.myPow(x, n - 1)
|
||||
|
||||
# 处理n为偶数的情况
|
||||
return self.myPow(x * x, n / 2)
|
||||
return self.myPow(x * x, n // 2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -30,7 +30,7 @@ class Solution:
|
||||
思路:
|
||||
nums => size = n
|
||||
1. 采用动态规划的思想;
|
||||
2. dp[i] => 表示[i:n-1]范围内的最长的上升子序列的长度;
|
||||
2. dp[i] => 表示[i:n-1]范围内包含nums[i]的最长的上升子序列的长度;
|
||||
3. 状态转移方程:
|
||||
f(i) = 1 i == n - 1
|
||||
1 + max{f(j) | nums[j] > nums[i] && i < j < n} i < n - 1
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
|
||||
#
|
||||
# 示例 1:
|
||||
# 输入: 1 1
|
||||
# 输入: 1 1
|
||||
# / \ / \
|
||||
# 2 3 2 3
|
||||
#
|
||||
@@ -17,7 +17,7 @@
|
||||
# 输出: true
|
||||
#
|
||||
# 示例 2:
|
||||
# 输入: 1 1
|
||||
# 输入: 1 1
|
||||
# / \
|
||||
# 2 2
|
||||
#
|
||||
@@ -26,7 +26,7 @@
|
||||
# 输出: false
|
||||
#
|
||||
# 示例 3:
|
||||
# 输入: 1 1
|
||||
# 输入: 1 1
|
||||
# / \ / \
|
||||
# 2 1 1 2
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user