大雪菜 — LeetCode刷题打卡活动第三期——week2 DFS专题(部分代码)

Posted 叫我妖道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大雪菜 — LeetCode刷题打卡活动第三期——week2 DFS专题(部分代码)相关的知识,希望对你有一定的参考价值。

转自   https://www.bilibili.com/video/av34962180?t=1435&p=2

77,给定两个整数 nk,返回 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    ,实现大小写的互换

 

这两题我觉得还不错,愿能记住!!!

 

========== ========== ========= ======= ======== ====== ===== ==== == =

求上进的人,不要总想着靠谁,人都是自私的,自己才是最靠得住的人。

 

以上是关于大雪菜 — LeetCode刷题打卡活动第三期——week2 DFS专题(部分代码)的主要内容,如果未能解决你的问题,请参考以下文章

第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!

第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!

第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!

新用户创作打卡挑战赛第三期获奖名单

跟着英雄学算法第⑤天计数法——附Leetcode刷题题解(C语言实现)

刷题打卡第二天(数组:快慢指针法)