转自 https://www.bilibili.com/video/av34962180?t=1435&p=2
77,给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。
vector<vector<int> >ans; vector<vector<int>> combine(int n, int k) { vector<int>way; dfs(way,1,n,k); return ans; } void dfs(vector<int>&way,int start,int n,int k) { if(k==0) { ans.push_back(way); return; } for(int i=start;i<=n;i++) { way.push_back(i); dfs(way,i+1,n,k-1); way.pop_back(); } }
784,给定一个字符串S
,通过将字符串S
中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。
class Solution { public: vector<string> ans; vector<string> letterCasePermutation(string S) { dfs(S,0); return ans; } void dfs(string S,int u) { if(u==S.size()) { ans.push_back(S); return; } dfs(S,u+1); if(S[u]>=‘A‘) { S[u] ^=32; dfs(S , u + 1); } } };
这一题 有一个挺秀的操作, S[u] ^=32 ,实现大小写的互换
这两题我觉得还不错,愿能记住!!!
========== ========== ========= ======= ======== ====== ===== ==== == =
求上进的人,不要总想着靠谁,人都是自私的,自己才是最靠得住的人。
原文地址:https://www.cnblogs.com/asdfknjhu/p/12535636.html
时间: 2024-11-02 20:55:05