跳至主要內容
332, 重新安排行程

一、题目描述

给你一份航线列表tickets,其中tickets[i] = [fromi, toi]表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。

所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从JFK开始。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。

  • 例如,行程["JFK", "LGA"]["JFK", "LGB"]相比就更小,排序更靠前。

Mike大约 3 分钟backtrackingmediumdepth first searchgraphbacktracking
491, 递增子序列

一、题目描述

给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。

数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。

示例 1
输入: nums = [4, 6, 7, 7]
输出: [[4, 6], [4, 6, 7], [4, 6, 7, 7], [4, 7], [4, 7, 7], [6, 7], [6, 7, 7], [7, 7]]


Mike大约 1 分钟backtrackingmediumarrayhash tablebit manipulationbacktracking
37, 解数独

一、题目描述

编写一个程序,通过填充空格来解决数独问题。

数独的解法需遵循如下规则

  1. 数字1-9在每一行只能出现一次。
  2. 数字1-9在每一列只能出现一次。
  3. 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)

数独部分空格内已填入了数字,空白格用'.'表示。

示例 1

输入: board =


Mike大约 4 分钟backtrackinghardarrayhash tablematrixbacktracking
36, 有效的数独

一、题目描述

请你判断一个9 x 9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。

  1. 数字1-9在每一行只能出现一次。
  2. 数字1-9在每一列只能出现一次。
  3. 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)

注意

  • 一个有效的数独(部分已被填充)不一定是可解的。
  • 只需要根据以上规则,验证已经填入的数字是否有效即可。
  • 空白格用'.'表示。

Mike大约 3 分钟backtrackingmediumarrayhash tablematrix
52, N皇后II

一、题目描述

n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数n,返回所有不同的n皇后问题的解决方案的数量。

示例 1

输入: n = 4
输出: 2
解释: 如上图所示,4皇后问题存在两个不同的解法。


Mike大约 1 分钟backtrackinghardbacktracking
51, N皇后

一、题目描述

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。

n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数n,返回所有不同的n皇后问题的解决方案。

每一种解法包含一个不同的n皇后问题的棋子放置方案,该方案中'Q''.'分别代表了皇后和空位。


Mike大约 2 分钟backtrackinghardarraybacktracking
47, 全排列II

一、题目描述

给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。

示例 1
输入: nums = [1, 1, 2]
输出: [[1, 1, 2], [1, 2, 1], [2, 1, 1]]

示例 2
输入: nums = [1, 2, 3]
输出: [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]


Mike大约 2 分钟backtrackingmediumarraybacktracking
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]]


Mike大约 2 分钟backtrackingmediumarraybacktracking
90, 子集II

一、题目描述

给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

解集不能包含重复的子集。返回的解集中,子集可以按任意顺序排列。

示例 1
输入: nums = [1, 2, 2]
输出: [[], [1], [1, 2], [1, 2, 2], [2], [2, 2]]

示例 2
输入: nums = [0]
输出: [[], [0]]


Mike大约 1 分钟backtrackingmediumarraybacktrackingbit manipulation
78, 子集

一、题目描述

给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。

解集不能包含重复的子集。你可以按任意顺序返回解集。

示例 1
输入: nums = [1, 2, 3]
输出: [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]

示例 2
输入: nums = [0]
输出: [[], [0]]


Mike大约 1 分钟backtrackingmediumarraybacktrackingbit manipulation
2