- 博客(6)
- 收藏
- 关注
原创 N皇后问题 - LeetCode - 52 2020-10-18
N皇后 2题目:思路:代码:优化 :代码:题目:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。输入: 4输出: 2解释: 4皇后问题存在如下两个不同的解法。[[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,“…Q”,“.Q…”]]思路:此题为经典的回溯算法题, 我已经多次刷过
2020-10-18 15:34:33 189
原创 LeetCode-4 寻找两个正序数组中的中位数 2020-10-13
寻找两个正序数组中的中位数题目:思路:代码:时间复杂度:题目:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。要求时间复杂度为O(log(m + n))以下示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4
2020-10-13 21:50:42 118
原创 最小的K个数(快排思想) 2020-10-12
最小的K个数题目:思路:进阶:思路:代码:题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。思路:sort排序后直接打印前 k 个数 , 时间复杂度为 nlogn 。创建一个容量为k的大根堆的优先队列 ,遍历数组, 同时维护这个大根堆 。时间复杂度为O(nlogK);进阶:要求不能用全局排序 , 要求时间复杂度达到最低 , 要求不能用辅助空间。思路:快排思想:对于快排 , 我们知道每一趟快排都可以确定一个元素在
2020-10-12 18:34:40 276
原创 最长递增子序列 - 2020-10-11
最长递增子序列题目:思路:代码:题目:给定数组arr,设长度为n,输出arr的最长递增子序列。(如果有多个答案,请输出其中字典序最小的)示例1输入[2,1,5,3,6,4,8,9,7]输出[1,3,4,8,9]示例2输入[1,2,8,6,4]输出[1,2,4]说明其最长递增子序列有3个,(1,2,8)、(1,2,6)、(1,2,4)其中第三个字典序最小故答案为(1,2,4)备注:n < 1e5;1 <= arr[i] <= 1e9思路:开始思路为动态规
2020-10-11 22:24:01 248
原创 2020-10-11 LeetCode-84 柱状图中最大矩形面积
LeetCode - 84 柱状图中最大矩形面积题目:思路:代码:题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10思路:这题可以用双指针做, 遍历每一个元素时 , 从该元素用两个指针,分别向左
2020-10-11 20:55:17 240
原创 2020-10-11 LeetCode-416
LeetCode - 476 分割等和子集题目:思路:代码:优化:题目:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.思路:开始想到的是贪心 , 排
2020-10-11 18:51:36 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人