牛客786963925号
牛客786963925号
全部文章
题解
归档
标签
去牛客网
登录
/
注册
牛客786963925号的博客
全部文章
/ 题解
(共4篇)
题解 | #未排序数组中累加和为给定值的最长子数组长度#
解法一:回溯 + set 利用回溯方法进行求解的思路如下:(具体递归过程见图示) 对于每一个位置,都有「选」和「不选」两种可能,因此需要定义一个state数组用来记录「当前元素是否已经被选择」; 字符串cur用来记录「当前」字符串的情况,在每次递归时,在cur末尾加上当前字符(若其未被选择过),然...
C++
回溯
递归
set
2021-07-25
3
572
题解 | #数独#
解法一: 解法一的思路较为直接:对数独中的每个位置,若其不为.,即没有被数字所填,则从数字1至9遍历,分别填写该位置,并检验此时数独是否有效。若成功填满最后一个位置,即是该数独的解,否则将填写的位置重置,继续遍历。 解法一的思路如图所示。 在「检验数独」是否有效时,需要如下3个步骤: 检验数独...
C++
回溯
递归
2021-07-17
4
1018
题解 | #加起来和为目标值的组合#
利用set解法 对于此题,可以利用「回溯」的思想求解:先尝试某一选择,若满足题目条件,则加到最终结果中;否则撤销该选择,重新进行下一次选择。 具体而言,利用「回溯」算法求解此题的步骤如图所示: 对于原数组,从第一个位置(为10)开始选,加入到临时数组arr中,并将目前的求和结果加入到cur...
C++
递归
回溯
2021-07-13
8
1091
题解 | #矩阵的最小路径和#
解法一:回溯法(暴力解法) 回溯法遍历所有可走到的路线,并计算每条路线的结果,将最小的结果返回。回溯方法通常需要两个步骤:1. 更新变量,递归到下一步;2.递归返回时,撤销更新对于此题,在每一次递归过程中,需要将当前位置元素的路径和(代码中curSum变量)加入到结果中,并作为参数传入下一次递归;在...
回溯
动态规划
C++
2021-07-07
28
3537