力扣
文章平均质量分 55
本专栏用于力扣刷题 使用C++/Java实现
了不起的旭baobao
愿我们何时回想起自己的曾经,都能问心无愧
归来仍是少年!
展开
-
leetcode 136. 只出现一次的数字 [位运算]
1.题目要求leetcode 136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 42.解题思路(位运算)实现思路:位异或本题思路如下:利用位运算中的异或操作,可以很快找到本题的解 。tip:0异或上一个数,结果仍等于这个数;1异或上一个数,原创 2022-02-12 19:12:40 · 195 阅读 · 0 评论 -
leetcode 93. 复原 IP 地址 [回溯]
1.题目要求leetcode 93. 复原 IP 地址有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插原创 2022-02-11 23:08:44 · 1423 阅读 · 1 评论 -
leetcode 239. 滑动窗口最大值 [双向队列]
1.题目要求leetcode 239. 滑动窗口最大值给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值------------------------- -----[1 3原创 2022-02-09 21:13:07 · 780 阅读 · 1 评论 -
leetcode 26.删除有序数组中的重复项 [双指针]
1.题目要求leetcode 26.删除有序数组中的重复项给你一个有序数组 nums ,请你 原地删除 重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实原创 2022-02-07 19:39:30 · 104 阅读 · 2 评论 -
leetcode 20.有效的括号
1.题目要求leetcode 20.有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]原创 2022-02-06 18:40:11 · 417 阅读 · 0 评论 -
dfs:深搜解决全排列问题
题目描述给定 n ( n ≤ 9 ), 按字典序输出 1 到 n 的所有全排列。思路分析要输出1-n的全排列,可以建立一个n个节点的 **无向完全图**然后对每个点作为起点,分别做一次深度优先搜索,当所有点都已经标记时,输出当前的搜索路径。因为是按字典序,所以每次从小到大开始遍历如果当前节点没访问过,就添加其到访问序列arr,同时计数已标记的节点数目depth++当**所有节点都已访问**时,输出此时的访问序列。访问结束后,**删除**此节点的**访问标记**。实现代码#include原创 2022-01-24 13:27:21 · 442 阅读 · 0 评论 -
leetcode1008. 前序遍历构造二叉搜索树
1.题目描述返回与给定前序遍历 preorder 相匹配的二叉搜索树 (binary search tree) 的根结点。(二叉搜索树是二叉树的一种,其每个节点都满足以下规则,对于 node.left 的任何后代,值总 < node.val,而 node.right 的任何后代,值总 > node.val。此外,前序遍历首先显示节点 node 的值,然后遍历 node.left,接着遍历 node.right。)。题目保证,对于给定的测试用例,总能找到满足要求的二叉搜索树。 样例输入: [原创 2022-01-21 13:38:10 · 315 阅读 · 0 评论