2020年4月20日
摘要: 题目: 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 思路:开始使用纯逻辑的思路,使用了大量的判断,如程序2所示,可以通过题目的两个例子,但是在自创例子时出现了超时的提示(要把复杂的问题简单化 阅读全文
posted @ 2020-04-20 20:47 桌子哥 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 思路: 是第54题的逆向过程 程序: class Solution: def generateMatrix(self, n: int) -> List[List[int]]: if n <=  阅读全文
posted @ 2020-04-20 16:30 桌子哥 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 题目:给出一个区间的集合,请合并所有重叠的区间。 思路:方案设计比较简单,之前可能是数组的排序用的方法有点复杂了,测试可以通过,提交的时候老是显示超时。 程序: class Solution: def merge(self, intervals: List[List[int]]) -> List[L 阅读全文
posted @ 2020-04-20 15:58 桌子哥 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 思路: 较简单,与第45题思路类似 程序: class Solution: def canJump(self, nums: List[int]) -> b 阅读全文
posted @ 2020-04-20 13:19 桌子哥 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 思路: 使用两个指针,然后控制好边界就可以了。 程序: class Solution: def spiralOrder(self, matrix: List[List[int]]) -> 阅读全文
posted @ 2020-04-20 12:52 桌子哥 阅读(1709) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 思路:贪心法和分而治之 程序1:贪心发 class Solution: def maxSubArray(se 阅读全文
posted @ 2020-04-20 10:49 桌子哥 阅读(1857) 评论(0) 推荐(0) 编辑