mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 04:06:51 +08:00
Merge pull request #153 from csresource04/master
更新0383.赎金信的排版格式,0216.组合总和III Markdown代码块语法
This commit is contained in:
@ -94,7 +94,7 @@ void backtracking(int targetSum, int k, int sum, int startIndex)
|
|||||||
|
|
||||||
所以 终止代码如下:
|
所以 终止代码如下:
|
||||||
|
|
||||||
```
|
```C++
|
||||||
if (path.size() == k) {
|
if (path.size() == k) {
|
||||||
if (sum == targetSum) result.push_back(path);
|
if (sum == targetSum) result.push_back(path);
|
||||||
return; // 如果path.size() == k 但sum != targetSum 直接返回
|
return; // 如果path.size() == k 但sum != targetSum 直接返回
|
||||||
@ -112,7 +112,7 @@ if (path.size() == k) {
|
|||||||
|
|
||||||
代码如下:
|
代码如下:
|
||||||
|
|
||||||
```
|
```C++
|
||||||
for (int i = startIndex; i <= 9; i++) {
|
for (int i = startIndex; i <= 9; i++) {
|
||||||
sum += i;
|
sum += i;
|
||||||
path.push_back(i);
|
path.push_back(i);
|
||||||
@ -126,7 +126,7 @@ for (int i = startIndex; i <= 9; i++) {
|
|||||||
|
|
||||||
参照[关于回溯算法,你该了解这些!](https://mp.weixin.qq.com/s/gjSgJbNbd1eAA5WkA-HeWw)中的模板,不难写出如下C++代码:
|
参照[关于回溯算法,你该了解这些!](https://mp.weixin.qq.com/s/gjSgJbNbd1eAA5WkA-HeWw)中的模板,不难写出如下C++代码:
|
||||||
|
|
||||||
```
|
```C++
|
||||||
class Solution {
|
class Solution {
|
||||||
private:
|
private:
|
||||||
vector<vector<int>> result; // 存放结果集
|
vector<vector<int>> result; // 存放结果集
|
||||||
|
@ -26,7 +26,7 @@ canConstruct("a", "b") -> false
|
|||||||
canConstruct("aa", "ab") -> false
|
canConstruct("aa", "ab") -> false
|
||||||
canConstruct("aa", "aab") -> true
|
canConstruct("aa", "aab") -> true
|
||||||
|
|
||||||
# 思路
|
## 思路
|
||||||
|
|
||||||
这道题目和[242.有效的字母异位词](https://mp.weixin.qq.com/s/vM6OszkM6L1Mx2Ralm9Dig)很像,[242.有效的字母异位词](https://mp.weixin.qq.com/s/vM6OszkM6L1Mx2Ralm9Dig)相当于求 字符串a 和 字符串b 是否可以相互组成 ,而这道题目是求 字符串a能否组成字符串b,而不用管字符串b 能不能组成字符串a。
|
这道题目和[242.有效的字母异位词](https://mp.weixin.qq.com/s/vM6OszkM6L1Mx2Ralm9Dig)很像,[242.有效的字母异位词](https://mp.weixin.qq.com/s/vM6OszkM6L1Mx2Ralm9Dig)相当于求 字符串a 和 字符串b 是否可以相互组成 ,而这道题目是求 字符串a能否组成字符串b,而不用管字符串b 能不能组成字符串a。
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ canConstruct("aa", "aab") -> true
|
|||||||
|
|
||||||
* 第二点 “你可以假设两个字符串均只含有小写字母。” *说明只有小写字母*,这一点很重要
|
* 第二点 “你可以假设两个字符串均只含有小写字母。” *说明只有小写字母*,这一点很重要
|
||||||
|
|
||||||
# 暴力解法
|
## 暴力解法
|
||||||
|
|
||||||
那么第一个思路其实就是暴力枚举了,两层for循环,不断去寻找,代码如下:
|
那么第一个思路其实就是暴力枚举了,两层for循环,不断去寻找,代码如下:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ public:
|
|||||||
这里时间复杂度是比较高的,而且里面还有一个字符串删除也就是erase的操作,也是费时的,当然这段代码也可以过这道题。
|
这里时间复杂度是比较高的,而且里面还有一个字符串删除也就是erase的操作,也是费时的,当然这段代码也可以过这道题。
|
||||||
|
|
||||||
|
|
||||||
# 哈希解法
|
## 哈希解法
|
||||||
|
|
||||||
因为题目所只有小写字母,那可以采用空间换取时间的哈希策略, 用一个长度为26的数组还记录magazine里字母出现的次数。
|
因为题目所只有小写字母,那可以采用空间换取时间的哈希策略, 用一个长度为26的数组还记录magazine里字母出现的次数。
|
||||||
|
|
||||||
@ -105,8 +105,6 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user