Leetcode 动态规划专题
1.斐波那契数一.常见的递归解法public int fib(int n) { if(n == 0){ return 0; } if(n == 1){ return 1; } return fib(n-1) + fib(n-2); } 此方法严重浪费内存和时间,可利用数组对其优化.二.数组解法 if(n == 0){
觉宇宙之无穷,识盈虚之有数
1.斐波那契数一.常见的递归解法public int fib(int n) { if(n == 0){ return 0; } if(n == 1){ return 1; } return fib(n-1) + fib(n-2); } 此方法严重浪费内存和时间,可利用数组对其优化.二.数组解法 if(n == 0){
public int[][] merge(int[][] intervals) { if(intervals.length == 1 ){ return intervals; } List<int[]> res = new LinkedList<>(); //自定义数组排列规则 Arrays.sort(interval
有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。因此,这道题,必须从最底部开始遍历。如果从上往下遍历的话,很容易让第三个定义不满足。1.递归class Solution { public boolean isValidBST(TreeNode root) { return i
呵呵,java的骚操作太多了...public int[] intersect(int[] nums1, int[] nums2) { /** * 将Nums1中的元素放入list1中 */ List<Integer> list1 = Arrays.stream(nums1).boxed().collect(Collectors.toList());
方法1.采用for循环嵌套的暴力破解法public static void 三羊献瑞(){ for (int i = 1; i < 10; i++) { for (int j = 0; j < 10 ; j++) { for (int k = 0; k < 10; k++) { for (int l