leetcode51.N皇后(困难)-回溯法

 思路 都知道n皇后问题是回溯算法解决的经典问题,但是用回溯解决多了组合、切割、子集、排列问题之后,遇到这种二维矩阵还会有点不知所措。 首先来看一下皇后们的约束条件: 不能同行不能同列不能同斜线 确定完约束条件,来看看究竟要怎么去搜索皇后们的位置,其实搜索皇后的位置,可以抽象为一棵树。 下面我用一个 3 * 3 的棋盘,将搜索过程抽象为一棵树,如图:  从图中,可以看出,二维矩阵中矩阵的高就是这棵树的高度,矩阵...

leetcode面试经典150题】74. 填充每个节点的下一个右侧节点指针 II(C++)

【题目描述】 给定一个二叉树: struct Node { int val; Node *left; Node *right; Node *next;} 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。 初始状态下,所有 next 指针都被设置为 NULL 。 【示例一】 输入:root = [1,2,3,4,5,null,7]...

LeetCode //C - 38. Count and Say Medium Topics Companies

th} nth term of the count-and-say sequence.   Example 1: Example 2: Constraints: 1 <= n <= 30 From: LeetCode Link: 38. Count and Say Solution: Ideas: Base Case: If n is 1, the function returns the string “1”,...

Leetcode】vector刷题

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.只出现一次的数字2.杨辉三角3.删除有序数组中的重复项4.只出现一次的数字II5.只出现一次的数字III6.电话号码的字母组合 1.只出现一次的数字 这道题很简单,我们只需要遍历一遍数组,利用异或操作的性质(一个数与自身异或结果为0,任何数与0异或还是其本身) class Solution {public: int singleNumb...

【代码随想录刷题记录】LeetCode367有效的完全平方数

题目地址 1. 思路 这个题就用二分查找的思想,比LeetCode69x的平方根要简单一些,那个还要处理开平方不是整数的情况,这个直接就按左闭右闭,middle的平方是num就返回true,否则继续迭代二分直到找到middle的平方是num的情况返回true,或者找不到跳出循环返回false. 2. 代码 class Solution {public: //左闭右闭 bool isPerfectSquare(...

leetcode面试经典150题】64. 删除排序链表中的重复元素 II(C++)

【题目描述】 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 【示例一】 输入:head = [1,2,3,3,4,4,5]输出:[1,2,5] 【示例二】 输入:head = [1,1,1,2,3]输出:[2,3] 【提示及数据范围】 链表中节点数目在范围 [0, 300] 内-100 <= Node.val <= 100题目数据保证链...

leetcode面试经典150题】73. 从中序与后序遍历序列构造二叉树(C++)

【题目描述】 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 【示例一】 输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7] 【示例二】 输入:inorder = [-1],...

LeetCode //C - 47. Permutations II

in any order.   Example 1: Example 2: Constraints: 1 <= nums.length <= 8-10 <= nums[i] <= 10 From: LeetCode Link: 47. Permutations II Solution: Ideas: 1. Sorting the Array: The function starts by sorting the...

【代码随想录刷题记录】LeetCode209长度最小的子数组

题目地址 1. 思路 1.1 基本思路及代码实现 按照卡尔老师的思路,这个题目涉及到了一个重要的知识:滑动窗口,(卡尔老师的图片演示比我做的好,就看卡尔老师的图片演示就行,其中我的fast指针对应卡尔老师的j指针,我的slow指针对应卡尔老师的i指针),所谓滑动窗口和快慢指针差不多,我最开始的想法是这样的:用快慢指针slow和fast遍历这个数组,用一个整型变量sum保存每次子数组的求和结果,为了能够用一次fo...

LeetCode //C - 18. 4Sum

109<=nums[i]<=109 − 1 0 9 < = t a r g e t < = 1 0 9 -10^9 <= target <= 10^9 −109<=target<=109 From: LeetCode Link: 18. 4Sum Solution: Ideas: Sorting: The array is sorted to allow efficient searching and to ea...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.015108(s)
2024-05-10 21:05:11 1715346311