摘要: 题目 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9] 阅读全文
posted @ 2020-08-05 15:05 maoguai 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]] 思路 通过设置一个移动的判定区间,来完成区间的合并 首先对数组排序,使其以左区间为标准,从小到大,依次排序,然后依次读出 阅读全文
posted @ 2020-08-05 11:17 maoguai 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 思路 贪心算法:记录每一个位置能够跳跃到的最远距离,如果超过前者的距离则更新,如果不能则保留原距离。注意,在跳跃的时候,要确保当前位置是可达的,即是在最远距 阅读全文
posted @ 2020-08-05 10:43 maoguai 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 思路 对于每个外层,从左上方开始以顺时针的顺序遍历所有元素。假设当前层的左上角位于(top,left),右下角位于(bottom,right) 按照如下顺序遍历当前层的元素: 1.从左到右 阅读全文
posted @ 2020-08-04 16:42 maoguai 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 思路 动态规划:求整个数组的连续子数组的最大和,可以求出每个位置的连续子数组的最大和,返回其最大值即可。 分治: 实现 动态规划 class Solution: def maxSubArra 阅读全文
posted @ 2020-08-04 16:35 maoguai 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。 思路 与51题完全一致 实现 class Solution: def totalNQueens(self, n: int) -> int: t 阅读全文
posted @ 2020-08-04 13:03 maoguai 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 思路 这道题思路与37解数独 阅读全文
posted @ 2020-08-04 11:00 maoguai 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 思路 最初的想法n>0计算res = res*x 计算n次,n<0,将x取倒数后同理,但结果表明计算速度太慢了。 后续应该采用快速幂的算法。这里的本质是分治的思想, 递归:例如当 n = 8 时,x^8 = (x^4)^2 = ((x 阅读全文
posted @ 2020-08-03 16:10 maoguai 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目 编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 '.' 表示。 思路 使用暴力破解是不现实的,其需要 9^81次运算 阅读全文
posted @ 2020-08-03 15:30 maoguai 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 思路 由于异位词由相同字母构成,所以可以用一个顺序的字符串作为这些字母异位词的标志,由此可以想到字典的方法。例如"ate","eat","tea",可以将"aet"作为键,字符串作为值加入其中。 实现 cl 阅读全文
posted @ 2020-08-03 11:30 maoguai 阅读(112) 评论(0) 推荐(0) 编辑