递归和回溯
一道题目写一天
这个作者很懒,什么都没留下…
展开
-
正方形数组的数目
问题描述 :给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] != A2[i]。示例 1:输入:[1,17,8]输出:2解释:[1,8,17] 和 [17,8,1] 都是有效的排列。示例 2:输入:[2,2,2]输出:1说明:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。完全平方数是非负数。输入说明 :首先输入A数组原创 2020-07-27 21:23:14 · 435 阅读 · 0 评论 -
分割回文串
问题描述 :给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案的数量。示例:输入: “aab”输出: 2说明:可能的分割方案有:[ [“aa”,“b”],[“a”,“a”,“b”]]输入说明 :输入一个字符串 s,长度小于等于200.输出说明 :输出一个整数输入范例 :aab输出范例 :2#include<iostream>#include<vector>using namespace std;vect原创 2020-07-27 14:37:48 · 218 阅读 · 0 评论 -
复原IP地址
问题描述 :给定一个只包含数字的字符串,复原它(在中间插入点号)并返回所有可能的 IP 地址格式,输出可能的格式的数量。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间)组成,整数之间用 ‘.’ 分隔。示例:输入: “25525511135”输出: 2说明:因为可能的IP地址包括:[“255.255.11.135”, “255.255.111.35”]输入说明 :输入一个只包含数字的字符串输出说明 :输出一个整数输入范例 :25525511135输出范例 :2原创 2020-07-26 21:57:48 · 359 阅读 · 0 评论 -
单词搜索
问题描述 :给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’], [‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true给定 word = “SEE”, 返回 true给定 word = “ABCB”, 返回 false原创 2020-07-21 21:00:24 · 110 阅读 · 0 评论 -
组合总和 II
问题描述 :给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合,输出组合的数量。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7], [1, 2, 5],[2, 6],[1, 1, 6]]输出:4示例原创 2020-07-20 23:15:36 · 209 阅读 · 0 评论 -
组合总和
问题描述 :给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合,输出组合的数量。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7],[2,2,3]]输出:2示例 2:输入:candidates = [2,3,原创 2020-07-20 22:35:39 · 113 阅读 · 0 评论 -
划分为k个相等的子集
问题描述 :给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。输入说明 :首先输入nums数组的长度n,然后输入n个整数,以空格分隔。最后输入k。1 <= k <= n <= 160 < nums[i] < 10原创 2020-07-19 22:16:46 · 199 阅读 · 0 评论