算法刷题之回溯法
算法刷题之回溯法
本杰明玩编程
做过后端开发,Android Framework,App开发,Ai infra模型推理。
熟悉编程语言C++,Java/Kotlin,python。
现在主要做语音相关的研发工作,主要包括kws,asr,nlu,dm,tts和Ai infra大模型推理。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
N皇后问题解法
一般遇到N皇后问题,就涉及到回溯算法(backtrace)。回溯算法一般可以用来解决集合,子集,排列,组合,地图路线,字符串路径等问题。 下面来总结一下回溯算法的模板: if(终止条件) //判断终止条件 { res.push_back(path); //存放符合题目结果 return; //返回 } for(选择 in 选择列表 ) { 做选择 backtrace(路径,选择列表) //递归算法,类似dfs 撤销选择,回溯 } 首先,定义一个全局二维向量ve原创 2021-07-26 00:12:43 · 338 阅读 · 0 评论 -
77. 组合
题目: 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 函数代码: class Solution { public: vector<vector<int>>res; vector<vector<int>> combine(int n, int k) { if (k <= 0 || n <= 0) return res; vector<int> trac原创 2020-08-15 11:04:50 · 120 阅读 · 0 评论 -
70.子集
题目: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 题解思路: 方法:回溯法 函数代码: class Solution { int n; vector<int>path; vector<vector<int>>res; public: vector<vector<int>> subsets(vector<int>& nums) {原创 2020-08-14 15:57:12 · 124 阅读 · 0 评论
分享