LeetCode解题之旅
DeaD_PooL_
这个作者很懒,什么都没留下…
展开
-
Leetcode526题优美的排列
Leetcode526题优美的排列 题目描述 假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件: 1.第 i 位的数字能被 i 整除 2.i 能被第 i 位上的数字整除 现在给定一个整数 N,请问可以构造多少个优美的排列? 题目思路 1、打表...原创 2019-05-08 23:21:48 · 282 阅读 · 0 评论 -
Leetcode306题累加数
Leetcode306题累加数 题目描述 累加数是一个字符串,组成它的数字可以形成累加序列。 一个有效的累加序列必须至少包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。 给定一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是累加数。 说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况 题...原创 2019-05-09 22:58:48 · 410 阅读 · 0 评论 -
Leetcode131题分割回文串
Leetcode131题分割回文串 题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 解题思路 首先很明显这题会使用到回溯法。在使用回溯法之前,需要另写一个函数来判定一个字符串是否是回文串。 接着在回溯法的过程中,设一个index表示字符串已经分割到的位置,然后对不同长度的子串进行判断。 此题比较简单,不多分析,直接贴代码。 class ...原创 2019-05-07 15:05:23 · 437 阅读 · 0 评论 -
Leetcode216题组合总和三
Leetcode216题组合总和三 题目描述 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 题目思路 回溯法,但需要设一个before量来记录前一个存入的i,以免解中出现重复元素。 执行用时 : 8 ms, 在Combination Sum III的C++提交中击败了93...原创 2019-05-07 16:22:40 · 240 阅读 · 0 评论 -
LeetCode357题计算各个位数不同的数字个数
LeetCode306题累加数 单纯的回溯法,没啥好说的 class Solution { public: int countNumbersWithUniqueDigits(int n) { if(n==0) return 1; if(n==1) return 10; int sum=9; for(int i=9;...原创 2019-05-07 16:59:00 · 172 阅读 · 0 评论 -
Leetcode279题完全平方数
Leetcode279题完全平方数 题目说明 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 题目思路 先把dp数组全部初始化为数组下标(因为每个数...原创 2019-05-21 17:07:38 · 283 阅读 · 0 评论