343. 整数拆分 正整数的和 ,乘积最大化 dp[i] = Math.max(dp[i],Math.max(j*dp[i-j],j*(i-j)));

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 例如,给定 n = 2,返回1(2 = 1 + 1);给定 n = 10,返回36(10 = 3 + 3 + 4)。 注意:你可以假设 n 不小于2且不大于58。 class Solut...

2018-06-29 11:26:34

阅读数:18

评论数:0

413. 等差数列划分(***)

如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 以下数列不是等差数列。 1, 1, 2, 5, 7 数组 A 包含 N 个数,且索引从0开始。数组 ...

2018-06-29 10:47:17

阅读数:72

评论数:1

记忆性冷函数

Arrays.copyOf(原数组,长度)函数完成了数组的复制! arr = Arrays.copyOf(nums,nums.length);

2018-06-27 08:39:03

阅读数:37

评论数:0

动态规划_62. 不同路径_53. 最大子序和

62、 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径...

2018-06-27 08:38:02

阅读数:37

评论数:0

64 最小路径和(二维动态规划优化:压缩法)

64、最小路径和 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→...

2018-06-26 20:46:16

阅读数:26

评论数:0

动态规划习题_70、 爬楼梯_198、打家劫舍_213.、打家劫舍 II_母牛生产_信件错排(***)_64、最小路径和

爬楼梯(爬一爬二) 假设你正在爬楼梯。需要 n 步你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 步 + 1 步 2. 2 步...

2018-06-26 17:29:44

阅读数:44

评论数:0

208. 实现 Trie (前缀树) 还没ok

实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("...

2018-06-24 16:07:33

阅读数:31

评论数:0

501. 二叉搜索树中的众数(各种常用的偏冷:HashMap的遍历,list和数组的转换)

这里写代码片 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 例如: 给定 BST [1,null,...

2018-06-22 15:15:40

阅读数:143

评论数:0

530. 二叉搜索树的最小绝对差

给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。 示例 : 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 注意: 树中至少有2个节点。 c...

2018-06-22 14:40:24

阅读数:61

评论数:0

109. 有序链表转换二叉搜索树(平衡的) 关于递归的时间复杂度是一个问题

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, nul...

2018-06-22 14:17:21

阅读数:47

评论数:0

538. 把二叉搜索树转换为累加树

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 5 / \ 2 ...

2018-06-22 10:51:28

阅读数:36

评论数:2

230. 二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ ...

2018-06-22 10:44:51

阅读数:128

评论数:0

669. 修剪二叉搜索树

给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 示例 1: 输入: 1 / \ 0 2 ...

2018-06-22 10:19:00

阅读数:14

评论数:0

653. 两数之和 IV - 输入 BST

给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 输入: ...

2018-06-21 09:52:13

阅读数:48

评论数:0

653. 两数之和 IV - 输入 BST

给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 输入: ...

2018-06-21 09:52:09

阅读数:23

评论数:0

144. 二叉树的前序遍历 94. 二叉树的中序遍历 145. 二叉树的后序遍历

给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? class Solution { public List&...

2018-06-21 09:27:46

阅读数:21

评论数:0

513. 找树左下角的值(层次遍历的基本错误)

给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 输入: 2 / \ 1 3 输出: 1 示例 2: 输入: 1 / \ 2 3 / / \ 4 5 6 / ...

2018-06-19 09:27:01

阅读数:16

评论数:0

637. 二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 解释: 第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14....

2018-06-19 08:59:05

阅读数:75

评论数:0

337. 打家劫舍 III(间隔遍历)

小偷又发现一个新的可行窃的地点。 这个地区只有一个入口,称为“根”。 除了根部之外,每栋房子有且只有一个父房子。 一番侦察之后,聪明的小偷意识到“这个地方的所有房屋形成了一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。 在不触动警报的情况下,计算小偷一晚能盗取的最高金额...

2018-06-15 09:11:08

阅读数:57

评论数:0

213. 打家劫舍 II (low 和i的关系)

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动...

2018-06-14 15:42:02

阅读数:80

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭