day25打卡

day25打卡

216. 组合总和 III

  • 画出决策树

image-20240203183902787

  • 递归出口:path.size() == k
  • 子问题:从pos开始枚举每个数字
  • 剪枝:count 提前大于 n,返回即可
  • 时间复杂度:O(N * 2^N),空间复杂度:O(N)
class Solution {
public:vector<vector<int>> ret;vector<int> path;int count = 0;vector<vector<int>> combinationSum3(int k, int n) {dfs(k, n, 1);return ret;}void dfs(int k, int n, int pos){//剪枝if(count > n) return;//出口if(path.size() == k){if(count == n)  ret.push_back(path);return;}//子问题for(int i = pos; i <= 9; i++){path.push_back(i);count += i;dfs(k, n, i+1);//回溯path.pop_back();count -= i;}}
};

17. 电话号码的字母组合

  • 画出决策树

image-20240203191300957

  • 递归出口:pos等于digits.size()
  • 子问题:从digits[0]开始枚举每个字母,直到hash[digits[pos] - ‘0’].szie()
class Solution {
public:vector<string> ret;string path = "";string hash[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};vector<string> letterCombinations(string digits) {if(digits.size() == 0) return ret;dfs(digits, 0);return ret;}void dfs(string& digits, int pos){//出口if(pos == digits.size()){ret.push_back(path);return;}//子问题for(int i = 0; i < hash[digits[pos] - '0'].size(); i++){path += hash[digits[pos] - '0'][i];dfs(digits, pos + 1);//回溯path.pop_back();}}
};

pos + 1);
//回溯
path.pop_back();
}
}
};


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450477.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端JavaScript篇之JavaScript有哪些内置对象

目录 JavaScript有哪些内置对象常见的内置对象的简单描述和参考代码总结 JavaScript有哪些内置对象 JavaScript中常见的内置对象包括&#xff1a; Object&#xff1a;用于创建对象的构造函数&#xff0c;对象是键值对的集合&#xff0c;用于存储和传递数据。 Array&#xff1…

基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................ figure; subplot(131); for …

MySQL默认的连接数151如何修改

在MySQL中修改 max_connections 的值可以通过以下几种方法进行&#xff1a; 1. 临时修改 可以通过MySQL命令行临时修改 max_connections 的值。这种修改直到下次MySQL服务重启时才会失效。要进行临时修改&#xff0c;可以使用以下命令&#xff1a; SET GLOBAL max_connectio…

24.Android中的列表--ListView

ListView 1.简单列表--ArrayAdapter <?xml version"1.0" encoding"utf-8"?> <ScrollView xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tools&qu…

python计算两个DataFrame的指定两列中,相同的数据有多少

目的&#xff1a;查询数据1和数据2中&#xff0c;red与red列相同 并且blue与blue列相同的&#xff0c;情况有多少。 &#xff08;备注&#xff1a;两个数据中格式不一致&#xff0c;需要经过json提取等处理步骤&#xff09; 思路步骤&#xff1a; 1、读取数据1&#xff0c;筛选…

MongoDB的分片集群(一) : 基础知识

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 目录导读 1. 什么是MongoDB分片 2. MongoDB分片集群介绍 2.1 MongoDB分片集群架构 2.2 MongoDB分片集群优势 3. 分片键…

C++核心deque容器,stack容器,queue容器,list容器,set容器,pair ,map容器

3.deque容器 1.deque容器的基本概念 Vector容器是单向开口的连续内存空间&#xff0c;deque则是一种双向开口的连续线性空间。所谓的双向开口&#xff0c;意思是可以在头尾两端插入元素&#xff0c;但是在其头部操作效率奇差&#xff0c;无法被接受。 deque容器和vector容器最…

Go语言编写安全的HTTP代理服务器

在构建HTTP代理服务器时&#xff0c;安全性是一个不可忽视的重要因素。使用Go语言编写代理服务器可以确保较高的性能和并发性&#xff0c;同时通过一些关键的安全措施&#xff0c;可以增强服务器的安全性。 加密通信&#xff1a; 使用HTTPS&#xff1a;HTTPS通过TLS/SSL协议对…

PostgreSQL 也很强大,为何在中国大陆,MySQL 成为主流,PostgreSQL 屈居二线呢?

问题&#xff1a; PostgreSQL 也很强大&#xff0c;为何在中国大陆&#xff0c;MySQL 成为主流&#xff0c;PostgreSQL 屈居二线呢&#xff1f;PostgreSQL 能否替代 MySQL&#xff1f; 当我们讨论为何 MySQL 在中国大陆成为主流而 PostgreSQL 屈居二线时&#xff0c; 我们其实…

环形链表(快慢指针)

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环…

TQ15EG开发板教程:使用vivado2023.1实现LWIP的网络传输

使用vivado2023.1实现LWIP的网络传输 创建工程模板在hello_world中已经介绍过了&#xff0c;这里直接从配置完zynq ip核开始 配置好IP核后&#xff0c;右键设计模块&#xff0c;点击Generate Output ... 右键设计模块生成HDL文件&#xff0c;本工程不会使用到bit文件所以不用生…

睿尔曼6自由度机械臂ROS驱动包功能拓展之查询指令

1&#xff1a;主要环境预览 1&#xff1a;系统&#xff1a;Ubuntu 20.04 2&#xff1a;ROS&#xff1a;noetic 3&#xff1a;对于系统要求需根据相关手册完成机械臂相关依赖安装&#xff0c;能够运行机械臂本身基本功能&#xff0c; 包括 moveit。 4&#xff1a;准备资料…