搜索
搜索类的题目:深搜和广搜
细水长流者
讨厌我所讨厌的,喜欢我所喜欢的东西~
展开
-
剑指 Offer II 082. 含有重复元素集合的组合---Python
剑指 Offer II 082. 含有重复元素集合的组合题目描述:给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例 2:原创 2021-08-24 10:21:29 · 297 阅读 · 0 评论 -
剑指 Offer II 081. 允许重复选择元素的组合---Python
剑指 Offer II 081. 允许重复选择元素的组合题目描述:给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。示例 1:输入: candidates = [2,3,6,7], target = 7输出:原创 2021-08-23 22:29:49 · 320 阅读 · 0 评论 -
剑指offer 22. 括号生成---Python
22. 括号生成题目描述:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/原创 2021-08-23 15:45:43 · 177 阅读 · 0 评论 -
力扣 52. N皇后 II---Python
52. N皇后 II题目描述:n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。示例 1:输入:n = 4输出:2解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:n = 1输出:1提示:1 <= n <= 9皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。来源:力扣(LeetCode)链接:ht原创 2021-08-13 15:11:35 · 214 阅读 · 0 评论 -
力扣 46. 全排列---Python
46. 全排列题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 <= nums.length <= 6-10 <原创 2021-08-12 21:43:50 · 466 阅读 · 0 评论 -
力扣 1219. 黄金矿工---Python
1219. 黄金矿工题目描述:你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。为了使收益最大化,矿工需要按以下规则来开采黄金:每当矿工进入一个单元,就会收集该单元格中的所有黄金。矿工每次可以从当前位置向上下左右四个方向走。每个单元格只能被开采(进入)一次。不得开采(进入)黄金数目为 0 的单元格。矿工可以从网格中 任意一个 有黄金的单元格出发或转载 2021-08-12 21:39:12 · 409 阅读 · 0 评论 -
力扣 51. N 皇后---Python
51. N 皇后题目描述:n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q…","…Q",“Q…”,"…Q."],["…Q.",“Q…”,"…Q",".Q…"]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:原创 2021-08-12 21:32:14 · 281 阅读 · 0 评论 -
蓝桥杯省赛题:李白喝酒(DFS)
题目描述:话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。AC代码:#include <stdlib.h>#in原创 2020-07-25 21:09:23 · 1488 阅读 · 0 评论 -
求最长上升子序列的长度---dp
求最长上升子序列的长度—dp题目描述:求最长上升子序列的长度:【注意是连续的子序列】比如:34125609最长的子序列为:34569或者12569(答案不唯一),所以结果是5第一种解法:dfs【时间可能长一些】//最长上升子序列 #include <stdlib.h>#include <stdio.h>#include <algorithm>#include <iostream>#include <string.h>#inc原创 2020-07-02 19:57:53 · 1165 阅读 · 0 评论 -
计蒜客:求迷宫解法方案数---dfs
题目描述:小信是一个玩迷宫的高手,天下还没有能难住他的迷宫。但是总有人喜欢刁难小信,不停的给小信出难题。这个出题的人很聪敏,他知道天下还没有能难住小信的迷宫。所以他便转换思维问小信,在不走重复路径的情况下,总共有多少不同可以到达终点的路径呢?小信稍加思索便给出了答案,你要不要也来挑战一下?Input第一行输入两个整数 n(1 ≤ n ≤ 11), m(1 ≤ m ≤ 11).表示迷宫的行和列。然后有一个 n × m 的地图,地图由’.’、’#’、‘s’、‘e’这四个部分组成。’.‘表示可以通行的路,原创 2020-06-30 15:00:44 · 665 阅读 · 3 评论 -
计蒜客:密码锁---bfs
计蒜客:密码锁—bfs题目描述:现在一个紧急的任务是打开一个密码锁。密码由四位数字组成,每个数字从1到9进行编号。每次可以对任何一位数字加1或减1.当将9加1时,数字变为1,当1减1时,数字变为9.还可以交换相邻的数字,每一个行动记做一步。求最少步骤打开密码锁。输入格式:第一行输入四位数字,表示密码锁的初始状态第二行输入四位数字,表示开锁的密码。输出格式:输出一个整数,即最小步骤数。样例输入:12342144样例输出:2解题思路:广搜。将锁的位置看做是四维的一个坐标系。和迷原创 2020-06-28 15:26:14 · 1329 阅读 · 3 评论 -
蓝桥杯试题 算法训练 王、后传说
蓝桥杯试题 算法训练 王、后传说题目描述:资源限制时间限制:1.0s 内存限制:256.0MB问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。 看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。 所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死… 现在有一个n*n的...原创 2020-04-12 17:05:42 · 637 阅读 · 4 评论 -
2n皇后问题---蓝桥杯
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个...原创 2020-02-06 21:05:23 · 776 阅读 · 0 评论 -
八皇后问题 回溯法
问题描述:八皇后问题是数学家高斯于1850年提出的,这是一个典型的回溯算法的问题。八皇后问题的大意如下:国际象棋的棋盘有8行8列共64个单元格,在棋盘上摆放8个皇后,使其不能互相攻击,也就是说任意两个皇后都不能处于同一行、同一列或同一斜线上。问总共共有多少种摆放方法,每一种摆放方式是怎样的。目前,数学上可以证明八皇后问题总共有92种解。思路:保证8个皇后不能互相攻击,即保证每一横行、每一竖...原创 2020-02-05 20:28:51 · 711 阅读 · 0 评论 -
蓝桥杯试题 算法提高 寻找三位数
蓝桥杯试题 算法提高 寻找三位数题目描述:资源限制时间限制:1.0s 内存限制:512.0MB问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。输入格式 无输入文件输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求...原创 2020-04-04 17:06:02 · 392 阅读 · 0 评论 -
计蒜客:一维坐标的移动---bfs
计蒜客:一维坐标的移动—bfs题目描述:在一个长度为 n 的坐标轴上,蒜头君想从 A 点 移动到 B 点。他的移动规则如下:向前一步,坐标增加 1。向后一步,坐标减少 1。跳跃一步,使得坐标乘 2。蒜头君不能移动到坐标小于 0 或大于 n 的位置。蒜头想知道从 A 点移动到 B 点的最少步数是多少,你能帮他计算出来么?输入格式第一行输入 n, m 表示迷宫大小。(1≤n,m≤100)接下来输入 n 行字符串表示迷宫,每个字符串长度为 m。(地图保证有且仅有一个终点,一个起始点)输出格式原创 2020-06-27 20:45:23 · 717 阅读 · 0 评论 -
计蒜客:迷宫(二)---bfs
计蒜客:bfs求解迷宫游戏题目描述:蒜头君在你的帮助下终于逃出了迷宫,但是蒜头君并没有沉浸于喜悦之中,而是很快的又陷入了思考,从这个迷宫逃出的最少步数是多少呢?输入格式第一行输入两个整数 nn 和 mm,表示这是一个 n \times mn×m 的迷宫。接下来的输入一个 nn 行 mm 列的迷宫。其中 ‘S’ 表示蒜头君的位置,’‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上,下,左,右)。输出格式输出整数原创 2020-06-27 18:33:01 · 1227 阅读 · 3 评论 -
蒜头君开公司---dfs
蒜头君开公司题目描述:2020 年,蒜头君自己开了一家拥有 N 个员工的大公司。每天,蒜头君都要分配 N 项工作给他的员工,但是,由于能力的不同,每个人对处理相同工作所需要的时间有快有慢。众所周知,蒜头君是一个非常重视效率的人,他想知道该如何分配工作,才能使得完成所有工作的时间总和最小(每个员工只可以被分配到一个工作)。但是我们也都知道蒜头君不是一般的懒,所以蒜头君找到了你,请你拯救一下蒜头君吧!输入格式第一行输入一个整数 N,代表有 N 个员工,员工编号从 1 到 N。(1≤N≤10)接着输入原创 2020-06-27 15:02:43 · 294 阅读 · 0 评论 -
计蒜客:王子救公主---dfs
题目描述:一天,蒜头君梦见自己当上了王子,但是不幸的是,自己的公主被可恶的巫婆抓走了。于是蒜头君动用全国的力量得知,自己的公主被巫婆抓进一个迷宫里面。由于全国只有蒜头君自己可以翻越迷宫外的城墙,蒜头君便自己一人走上的拯救自己公主的路途。碰巧的是巫婆出去了,迷宫也不大,蒜头君可以直接和公主对话,于是两个人便开始相互靠近。每一步移动只能朝着上下左右四个方向走一格,不能走进墙所在的位置。蒜头君救公主心切,一次必须沿着一个方向走两步(允许跨越迷宫中的墙);公主柔弱,一次只能走一步。问在这个迷宫中,蒜头君是否可原创 2020-06-27 14:15:17 · 713 阅读 · 0 评论 -
计蒜客:家谱---dfs
题目描述:输入一个n,接下来有n-1行。输入父亲和儿子求n个人,每个人的直系后代有多少。数据样例解释:1有3个直系后代(自己有2个亲孩子,其中2有一个亲孩子);2有1个直系后代(4没有直系后代了);3没有直系后代;4没有直系后代;AC代码:#include <stdlib.h>#include <stdio.h>#include <algorithm>#include <iostream>#include <vector&g原创 2020-06-27 13:44:50 · 563 阅读 · 0 评论 -
计蒜客:最大的蛋糕块---dfs
题目描述:这一天蒜头君生日,他的朋友们一起来给蒜头君买一个大的蛋糕过生日。游戏做完后到了切蛋糕的时刻了,朋友们知道蒜头君喜欢吃蛋糕,便让蒜头君自己给自己切一块最大的。蒜头君看朋友们这么热情也就不客气了。这块蛋糕是由 R \times CR×C 的网格构成,每个网格上面都放有不同的水果。蒜头君把这些水果分为两类,一类是自己喜欢吃的水果,用’#‘来表示;一类是自己不喜欢吃的水果,用’.'来表示。蒜头君对切出的蛋糕有如下要求:切出的蛋糕连成一块(可以不为矩形,但必须在网格上连通)切出的蛋糕只包含自己喜欢原创 2020-06-24 21:00:08 · 948 阅读 · 0 评论 -
计蒜客:踏青---dfs
计蒜客:踏青题目描述:蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 4 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’#‘代表草丛,’.'代表空地,下面的峡谷中有 2 片草地。1 ##…2 …##处在同一个草地的 2 个人可以相互看到,空地看不到草地里面的人。他们发现有一个朋友不见了,现在需要分头去找,每个人负责一片草地,蒜头君想知道他们至少需要原创 2020-06-24 18:38:53 · 443 阅读 · 0 评论 -
蓝桥杯试题 算法训练 乘积最大---(dfs+DP)
算法训练 乘积最大时间限制:1.0s 内存限制:256.0MB问题描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例原创 2020-06-11 17:13:01 · 760 阅读 · 0 评论