首页 > 其他分享 >leetcode17、77

leetcode17、77

时间:2023-09-26 17:12:32浏览次数:31  
标签:index 遍历 string 号码 int back 77 leetcode17

  • 回溯算法可以当作是二叉树的结构进行分析,看在叶节点的位置是什么条件收获结果
  • 每个抛进去的结果都是到叶子节点的路径

以leetcode17为例:

每一层遍历的是每一个号码对应的字符串,当号码全部遍历完成就可以返回结果,所以终止条件是(index==string.length());index是层数,string是号码。

每一层的操作是遍历每个号码对应的字符串,所以操作的for循环遍历的是每个号码索引的index的每个字符,将每个字符加入路径path;在最后返回结果时将所有果实path添加进返回结果。

回溯模板

void backtracking(int index,int n,string& digits){
    if(满足终止条件){
        result.push_back(path);
        return ;
    }
    char c=digits[index];
    //操作
    for(int i=0;i<m[c].size();i++){
        path.push_back(m[c][i]);
        backtracking(index+1,n;digits);
        path.pop_back();//回溯
    }
}

string也可以像vector一样做pop_back()和push_back()操作

标签:index,遍历,string,号码,int,back,77,leetcode17
From: https://www.cnblogs.com/wangkaixin-yy/p/17730652.html

相关文章

  • ORA-04030: out of process memory when trying to allocate 27760032 bytes (qmxuPar
    1.alter日志2023-09-24T19:59:02.474578+08:00LOGMINER:Beginmininglogfileforsession-2147289087thread1sequence2185,+DATA/DB/ONLINELOG/redo05a.log2023-09-24T19:59:02.481095+08:00LOGMINER:Beginmininglogfileforsession-2147289087thread2sequence......
  • CF877F 题解
    CF877F题解更好的阅读体验提供一个扫描线+根号分治做法。首先,可以把题目的条件转化成求$sum_r-sum_{l-1}=k$的区间数。考虑扫描线,当区间的右端点从$r-1$移动到$r$时,新增的区间的左端点就是所有满足$sum_{l-1}=sum_r-k,l\ler$的$l$。这时我们对$sum_{l-1}$......
  • openGauss学习笔记-77 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT特性及
    openGauss学习笔记-77openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT特性及价值本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的特性及价值。77MOT特性及价值MOT在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)以及高资源利用率(某些程度上节约成本)方面......
  • 联发科MTK6877/MT6877(天玑900)安卓核心板_5G安卓AI智能模块
    MTK/联发科5G安卓AI智能模块(MT6877天玑900平台)开发板方案定制支持NR-SA/NR-NSA/LTE-FDD(CAT-18)/LTE-TDD(CAT-18)/WCDMA/TD-SCDMA/EVDO/CDMA/GSM等多种制式;支持WiFi6,802.11a/b/g/n/ac/ax,BTv2.1+EDR,3.0+HS,v4.1+HS,V5.2,支持Beidou(北斗),Galileo,Glonass,GPS,QZSS,GNSS(L1+L2......
  • CF1677D Tokitsukaze and Permutations
    好玩题。对于一个排列\(p\),进行\(k\)轮冒泡,记\(v_i=\sum_{j<i}[p_j<p_i]\),给定\(v_i\),部分值不确定,求合法的\(p\)的个数。\(p\)由\(v\)唯一确定。考虑一个个加数字进去,每次可以判断加入数字与前面数字的相对大小,于是可以确定原排列。只用研究\(v\),不用......
  • 安卓主板MT6771/MT8788/MT8183/MT8385介绍_联发科MTK安卓主板方案安卓主板
    ZM718评估套件采用了联发科MT6771/MT8788/MT8183/MT8385处理器,具有优秀的性能和低功耗特性。其CPU采用Cortex-A53架构设计,采用12nm低功耗高性能制程,主频高达2.0GHz,搭配ARMMali-G71GPU。ZM718评估套件支持运行Android9.0操作系统,具有较好的通用性和人机交互性,用户可以进行......
  • 我的收藏周刊077
    文章分享技术人员的发展之路陈皓在2016年年底写的一篇文章,作为即将步入不惑之年的自己,该做出什么变化呢?什么是亚马逊物流FBA北大校友冯唐:这个世界的宽容度和审美令我失望原来冯唐还是北大校友,还可以看看这篇文章,虽然他总是提及协和。FeynmanLectures加州理工大学......
  • 77-参数的类型-位置参数-默认值参数-命名参数
           ......
  • 《看了受制了》第十八天,3道题,合计77道题
    2023年9月16日今天因为acwing题简单,第一次正式AKACWING5149简单计算题目理解真的很简单,就是循环代码实现#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intmain(){intT;cin>>T;while(T--){int......
  • CF677D Vanya and Treasure
    这题纯大力搞过去的,没用到啥技巧,后面看了下别人的做法发现还是很有意思的我的做法就很粗暴,考虑令\(f_{i,j}\)表示走到\((i,j)\)的最短路,转移的话不难发现是个分层图DP但是有一个显然的问题是当相邻两层间的点数很多时,暴力做的话会退化成\(O(n^2\timesm^2)\),因此需要优化像这种......