递归和回溯
一道题目写一天
这个作者很懒,什么都没留下…
展开
-
正方形数组的数目
问题描述 : 给定一个非负整数数组 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 · 444 阅读 · 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 · 227 阅读 · 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 · 365 阅读 · 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 · 118 阅读 · 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 · 216 阅读 · 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 · 125 阅读 · 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 <= 16 0 < nums[i] < 10原创 2020-07-19 22:16:46 · 207 阅读 · 0 评论