算法
算法
用月光取暖
热爱开发,终身学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode 51 N皇后问题
经典的回溯算法问题我们需要想清楚2点需要使用回溯算法如何判断两个皇后是否可以相互攻击回溯算法就不需要多说了。判断2个皇后是否可以相互攻击,主要看是否是同一行,同一列,或者同一对角线的。我们可以开额外的空间存储存储同列的,同行的,同对角线的坐标,同对角线的怎么把他们用一个确定的数字表示呢?我们可以把他们分为2类从右下角到左上角,也就是斜率为-1这条线上的坐标均有 x+y = k(常...原创 2020-01-28 14:14:36 · 282 阅读 · 0 评论 -
leetcode 343 整数拆分
package undone;public class t343 { public static void main(String[] args) { t343 t = new t343(); Solution solution = t.new Solution(); System.out.println(solution.integerBre...原创 2020-01-28 10:42:04 · 189 阅读 · 0 评论 -
和为K的子数组
leetcode一看到子数组的题,应该要马上想到这种前缀和的解法,即为 子数组(i - i+n)= k,那么肯定有(0 - n) - (0 - i) = k,因此我们只需要存储每一个0到i的值就可以了。class Solution { public int subarraySum(int[] nums, int k) { if(nums == null) { ...原创 2020-01-02 21:41:11 · 219 阅读 · 0 评论 -
不用加减乘除做加法
不用加减乘除做加法题目链接选自剑指offer65public class Solution { public int Add(int num1,int num2) { int sum, carry; while(num2 != 0) { sum = num1 ^ num2; carry = (num1 &...原创 2019-12-23 11:38:23 · 134 阅读 · 0 评论 -
leetcode 239 计算滑动窗口最大值
https://leetcode-cn.com/problems/sliding-window-maximum/采用双向队列的方法,代码 如下class Solution { public int[] maxSlidingWindow(int[] nums, int k) { if(nums == null || nums.length == 0 || nums.lengt...原创 2019-12-22 16:11:44 · 127 阅读 · 0 评论 -
leetcode找出数组中出现1次的数字
leetcode-找出数组中出现1次的数字例题1 https://leetcode-cn.com/problems/single-number/给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。解析:由于公式 a ^ a = 0.又 b & 0 = b因此我们直接遍历数组之后全部异或就行 class Solution {...原创 2019-12-06 16:48:31 · 409 阅读 · 0 评论 -
leetcode-95-不同的二叉搜索树 II
题目链接https://leetcode-cn.com/problems/unique-binary-search-trees-ii/submissions/思路:将1-n中的任意一个数视为树的根节点,左边的视为左子树,右边视为右子树。然后递归的对左右子树进行这种操作。public List<TreeNode> generateTrees(int n) { ...原创 2019-09-20 13:03:55 · 95 阅读 · 0 评论
分享