leetcode279】的更多相关文章

learn from DP class Solution { public: int numSquares(int n) { if(n<=0)return 0; int * dp = new int[n+1](); for(int i=1;i<=n;i++){ dp[i]= INT_MAX; for(int j =1;j*j <=i;j++){ int tmp = dp[i-j*j]+1; dp[i]=dp[i]<tmp?dp[i]:tmp; } } //for(int i=0;i…
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. Example 1: Input: n = 12 Output: 3 Explanation: 12 = 4 + 4 + 4. Example 2: Input: n = 13 Output: 2 Explanation: 13 = 4 + 9. 给定…
动态规划 public class Solution { public int NumSquares(int n) { var list = new List<int>(); list.Add(); ; i <= n; i++) { list.Add(i);//每一个数字,初始化为全部由1构成 } ; i <= n; i++) { ; j * j <= i; j++) { var x = list[i];//当前值的构成数量,由全部是1来构成 var s = i - j *…
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2: 输入: n = 13输出: 2解释: 13 = 4 + 9. 路径最短的问题 使用BFS最优 BFS其实是很简单的算法,只需要掌握以下几个套路 1.BFS算法组成的三要素:队列.入队及出队的结点.已经访问的标记集合 队列:先入先出的容器 入队.出队的结点 已访问标记…
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. class Solution { public: int numSquares(int n) { vector<int> squares; for(int i = 1; i * i <=…
每道题附带动态示意图,提供java.python两种语言答案,力求提供leetcode最优解. 描述: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13输出: 2解释: 13 = 4 + 9. 思路: 这道题的官方分类是[动态规划],所以我们用动态规划的方法来解,动态规划最重要的是找到它的状…
C++版 数组和字符串 正文 链表: 正文 树与图: 树: leetcode236. 二叉树的最近公共祖先 递归(先序) leetcode124二叉树最大路径和 递归 图: leetcode 547朋友圈(DFS,并查集) leetcode 207课程表(拓扑排序) leetcode 315 计算右侧小于当前元素的个数 (归并排序.树状数组(BIT),线段树,二叉搜索数(BST)) 回溯算法: leetcode 131分割回文串(回溯.分治.DFS.动态规划) 排序和搜索: leetcode37…