LeetCode Q6-Q10 Q11 盛最多水的容器 Container With Most WaterQ12 整数转罗马数字 Interger to RomanQ13 罗马数字转整数 Roman to IntergerQ14 最长公共前缀 Longest Common PrefixQ15 三数之和 3SumQ11 - Q15 一些笔记 Q11 盛最多水的容器 Container With Most Water给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两...
由于今晚有点事,没有认真做明天回来好好补 23、合并K个升序链表 1.1、题目给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。1.2 分析 采用堆的方式 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = Noneclass Solution:def mergeKLists(self, lists: List[ListNode]) -> ListNode:impo...
Leetcode21 - 合并两个有序链表-基于python 1、题目2、解析3、代码4、知识点 1、题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 2、解析 方法:迭代设定一个哨兵节点 head ,这可以在最后让我们比较容易地返回合并后的链表。我们维护一个 L3指针,我们需要做的是调整它的 next 指针。然后,我们重复以下过程,直到 l1 或者 l2 指向了 null :如果 l1 当前节点的值小于等于 ...
title: LeetCode No.6 categories: OJLeetCode tags: ProgramingLeetCodeOJLeetCode第六题 本题的实质就是模拟,虽然AC了,但是空间复杂度有点高,时间复杂度的话就是O(len(s))主要是找不到一个合适的存储,我只能用numpy存储了,大小的话和numRow有关。 题目描述 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L...
LeetCode 1078. Bigram 分词 给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 “first second third” 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。 对于每种这样的情况,将第三个词 “third” 添加到答案中,并返回答案。 示例 1: 输入:text = “alice is a good girl she is a good student”, first = “a”, second = “good” 输出:[“girl”,“student”] 示例 2: 输入...
很久没有更新博客了之前一直在忙于考试,最近终于考完了,以后会慢慢坚持更新博客的。对于OJ这个题我计划是每天做一道两道,也是为了以后毕业可以在面试的时候有一个加分项吧,同样也可以锻炼一下自己的编程能力西西。 我觉得对于我来说就是贵在坚持,毕竟在果壳的科研路上也才刚刚起步,日久天长,在搞好科研的同时,可以在在其他方面提升一下自己。 LeetCode第1题 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你...
题目:原题链接(简单) 标签:字符串 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)40ms (53.61%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def interpret(self, command: str) -> str:return command.replace("(al)", "al").replace("()", "o")
题目:原题链接(中等) 标签:哈希表 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)124ms (91.48%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def maxOperations(self, nums: List[int], k: int) -> int:count = collections.Counter([num for num in nums if num < k])ans = count[0] // 2for n1 in count:if n1 * 2 == k:ans += count[n1] // 2else:if k - n1 in count:ans += min(coun...
题目:原题链接(中等) 标签:数学 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)1124ms (94.87%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:_MOD = 1000000007def concatenatedBinary(self, n: int) -> int:now = 0for i in range(1, n + 1):now <<= i.bit_length()now += inow %= self._MODreturn now
题目:原题链接(困难) 标签:贪心算法、动态规划 解法时间复杂度空间复杂度执行用时Ans 1 (Python)––44ms (99.08%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def __init__(self):self.size = 0self.k = 0self.ans = 256def minimumIncompatibility(self, nums: List[int], k: int) -> int:# 处理无法分配的情况if collections.Counter(nums).most_common(1)[0][1] > k:return -1nums.sort()# 处理k为1的情况if k ...
题目:原题链接(简单) 标签:回溯算法、数学 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(1)O(1)O(1)O(1)O(1)O(1)44ms (24.12%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def numberOfMatches(self, n: int) -> int:return n - 1
Problem LeetCode Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Example 1: Input: root = [3,1,4,null,2], k = 13/ 1 42 Output: 1Example 2: Input: root = [5,3,6,2,4,null,null,1], k = 35/ 3 6/ 2 4/1 Output: 3Follow up: What if the BST is modified (insert/delete operations) often and you need to find the kth smallest frequently? How woul...
题号24 原链表:有一个head指针指向表头元素: 定义一个新的链表res,让其next指针指向old链表,并定义一个指向新链表表头元素的指针Cur: 对new链表进行元素交换: 首先定义一个指向head.next的指针nxt 一个指向nxt.next的指针temp 新链表的头指针cur的next指向头结点的next,即nxt; nxt的next指向head; 经过上面步骤,链表被划分成了两部分(因为2,3之间的链被断开了) 连接断链:head.next=temp第一波的交换完成。更新交换...
题目描述给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出:[1,2,2,3,5,6] 提示: -10^9 <= nums1[i], nums2[i] <= 10^9 nums1.length == m + n num...
LeetCode 69. x 的平方根 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 Code def mySqrt(self, x: int) -> int:l,r,res=0,x,-1while l<=r:mid=(l+r)//2mid_val=mid*midif mid_val<=x:#如果大于的话是不合理的r...