首页 > 其他分享 >刷题分享11_30

刷题分享11_30

时间:2024-12-01 21:33:41浏览次数:10  
标签:11 digits int res 30 back path backtracking 刷题

刷题分享

1.(力扣216)这是一道回溯算法的经典题目。对于回溯算法,一般backtracking是没有返回值的,参数也比较不固定,需要根据每个题的特点来具体分析。这道题因为不能取到重复元素,所以需要额外加一个参数startindex,用来记录每一次开始时所应该取到的元素。在循环内部,一般的逻辑是(单层操作 + 递归 + 回溯),其实回溯的本质就是在递归处理完该层向下的层后,将该层恢复成一开始达到该层时的状态,以便向上返回进行别的分支。所以也叫(恢复现场)

class Solution {
public:
    vector<vector<int>> res;
    vector<int> path;
    void backtracking(int k, int exnum, int sum, int startindex) {
        if (sum == exnum && k == path.size()) {
            res.push_back(path);
            return;
        }
        for (int i = startindex; i <= 9; i++) {
            sum += i;
            path.push_back(i);
            backtracking(k, exnum, sum, i + 1);
            sum -= i;
            path.pop_back();
        }
    }

    vector<vector<int>> combinationSum3(int k, int n) {
        backtracking(k, n, 0, 1);
        return res;
    }
};

2.(力扣17)首先该题要先使用一个数组,来存放对应位置上的字符串,另外,该题中有一个特殊的参数index,是用来标记现在已经处理到了输入字符串中的哪一个,所以结束条件是(index==digits.size())变量digit是用来存放当前这一层所要操作的字符串的

class Solution {
public:
    vector<string> res;
    string path;
    string help[10]{"",    "",    "abc",  "def", "ghi",
                    "jkl", "mno", "pqrs", "tuv", "wxyz"};

    void backtracking(string& digits, int index) {
        if (index == digits.size()) {
            res.push_back(path);
            return;
        }
        string digit = help[digits[index] - '0'];
        for (int i = 0; i < digit.size(); i++) {
            path.push_back(digit[i]);
            backtracking(digits, index + 1);
            path.pop_back();
        }
    }

    vector<string> letterCombinations(string digits) {
        if (digits.size() == 0) {
            return res;
        }
        backtracking(digits, 0);
        return res;
    }
};

标签:11,digits,int,res,30,back,path,backtracking,刷题
From: https://blog.csdn.net/2401_86941858/article/details/144158179

相关文章

  • 刷题分享12_1
    刷题分享1.(力扣39)这是一道回溯算法相关题目,因为每一个元素可以多次使用,所以更新时startindex应该更新为i而不是i+1classSolution{public:vector<vector<int>>res;vector<int>path;voidbacktracking(vector<int>&candidates,inttarget,intsum,......
  • 高级java每日一道面试题-2024年11月30日-JVM篇-Minor GC(年轻代GC)在什么时候发生?
    如果有遗漏,评论区告诉我进行补充面试官:MinorGC(年轻代GC)在什么时候发生?我回答:在Java高级面试中,关于MinorGC(也称为YoungGC或ScavengeGC)何时发生的问题,是一个重要的考点。以下是对MinorGC触发条件的详细解释:一、MinorGC的基本概念MinorGC是Java虚拟机(JVM)中一......
  • 20222303 2024-2025-2 《网络与系统攻防技术》实验七实验报告
    1.实验内容应用SET工具,通过多步操作建立冒名网站,获取登录信息。利用ettercap实施DNSspoof攻击,篡改特定网站IP。结合两种技术,用DNSspoof引导访问至冒名网站。2.实验过程2.1简单应用SET工具建立冒名网站输入命令sudovi/etc/apache2/ports.conf查看本机apache......
  • HCIP-11 IP路由基础和路由引入
    目录IP路由基础IP路由概述RIB与FIB路由表IP路由查找的最长匹配原则路由的来源动态路由协议路由迭代数据转发流程IP路由高级应用IP路由高级应用场景分析路由引入的基本概念路由引入的方向性路由引入:路由优先级路由引入:路由回灌路由引入:路由度量值路由引入场景路由引入的基础配置命......
  • YOLOv11原创改进专栏|注意力机制篇|ECA注意力机制手把手添加教程
    本文介绍:本专栏文章不会讲太复杂的定义,将从小白的角度去进行讲解,为大家节省时间,高效去做实验,文章将会简单介绍一下相关模块(也会附带相关论文链接,有兴趣可以阅读,可以作为论文文献),本专栏主要专注于YOLO改进实战!适用于小白入门也可以水论文,大佬跳过!!!文章适用人群:研一、准研究生(研......
  • 11.30考试总结
    分数T1T2T3T4T5T6T7100100100100100050T1杨辉三角每个\(dp\)的状态是\(dp_{i-1,j-1}\)与\(dp_{i-1,j}\)的和点击查看代码#include<bits/stdc++.h>#defineintlonglong#defineendl"\n"usingnamespacestd;constintmaxn=1e3+5;int......
  • 2024-2025-1 20241301 《计算机基础与程序设计》第十周学习总结
    |这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计||这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业||这个作业的目标|<复习知识,巩固基础>||作业正文|https://www.cnblogs.com/HonJo/p/18580240|一、教材学习内容总结(一)字符串C语言中的字符串是一种......
  • 魔百盒M401A、CM311-1a、CM311-1sa、UNT403A、UNT413A、M411A、IP112H_S905L3A/B_开启
    魔百盒M401A、CM311-1a、CM311-1sa、UNT403A、UNT413A、M411A、IP112H_S905L3A/B_开启ROOT_红外蓝牙语音_通刷线刷固件包近年来,智能电视盒子市场日新月异,而魔百盒系列凭借其高性价比和功能多样性,成为了许多家庭的首选。然而,原厂固件的限制让不少技术爱好者感到遗憾:ROOT权......
  • 2024-2025-1 20241308 《计算机基础与程序设计》第十周学习总结
    班级链接https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10作业目标信息系统数据库与SQL人工智能与专家系统人工神经网络模拟与离散事件排队系统天气与地震模型图形图像教材学习内容......
  • 代码随想录算法训练营第十四天 | 226.翻转二叉树、 101. 对称二叉树、104.二叉树的最
    文档讲解:代码随想录视频讲解:代码随想录状态:完成4道题226.翻转二叉树整体思路:交换每一个节点的左右孩子思考:使用哪种遍历方式?建议使用前序或后序遍历(中序遍历比较绕)​前序遍历#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,va......