LeetCode //C - 301. Remove Invalid Parentheses
ercase English letters and parentheses ‘(’ and ‘)’.There will be at most 20 parentheses in s. From: LeetCode Link: 301. Remove Invalid Parentheses Solution: Ideas: 1. Dynamic Queue and Result Resizing: Queue ...
K个一组翻转链表(LeetCode)
题目 解题 class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverseKGroup(head, k): """ 翻转链表中每 k 个节点一组的节点。 :param head: 链表的头节点 :param k: 每组翻转的节点数量 :return: 翻转后的链表头节点 """ de...
两数之和 II(LeetCode)
题目 解题 def two_sum(numbers, target): left = 0 right = len(numbers) - 1 while left < right: current_sum = numbers[left] + numbers[right] if current_sum == target: return [left + 1, right + 1] # 下标从1开始 elif curr...
查找和最小的K对数字(LeetCode)
题目 解题 from heapq import heappush, heappop def k_smallest_pairs(nums1, nums2, k): # 存储结果的列表 result = [] # 边界条件 if not nums1 or not nums2: return result # 使用最小堆 min_heap = [] # 初始化最小堆,存储 (和, nums1中的索引, nums2中的索...
有序矩阵中第K小的元素(LeetCode)
题目 解题 from queue import PriorityQueue def find_kth_smallest(matrix, k): # 创建一个优先级队列,用于存储元素及其位置 min_heap = PriorityQueue() # 将每一行的第一个元素及其位置 (值, 行, 列) 加入优先级队列 for row in range(len(matrix)): min_heap.put((matrix...
删除排序链表中的重复元素 II(LeetCode)
题目 解题 class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: # 创建一个虚拟头结点 dummy = ListNode(0) dummy.next =...
丑数 II(LeetCode)
题目 解题 def nthUglyNumber(n: int) -> int: # 初始化 dp 数组 dp = [0] * n dp[0] = 1 # 初始化三个指针 p2 = p3 = p5 = 0 for i in range(1, n): # 计算当前三个候选丑数 next_ugly = min(dp[p2] * 2, dp[p3] * 3, dp[p5] * 5) # 更新 dp 数组 dp[i] = ...
《LeetCode热题100》---<5.②普通数组篇五道>
第三道:轮转数组(中等) 方法一:使用额外的数组 class Solution { public void rotate(int[] nums, int k) { int len = nums.length; int[] newArr = new int[len]; for (int i = 0; i < len; ++i) { newArr[(i + k) % len] = nums[i]; } Syste...
LeetCode //C - 292. Nim Game
e 1: Example 2: Example 3: Constraints: 1 < = n < = 2 31 − 1 1 <= n <= 2^{31} - 1 1<=n<=231−1 From: LeetCode Link: 292. Nim Game Solution: Ideas: The function canWinNim takes an integer n as input, representi...
相交链表(LeetCode)
题目 解题 class ListNode: def __init__(self, x): self.val = x self.next = None def getIntersectionNode(headA, headB): """ 找到两个单链表相交的起始节点。 参数: headA (ListNode): 第一个链表的头节点。 headB (ListNode): 第二个链表的头节点。 返回值: ListNod...