
leetCode
文章平均质量分 50
看不见鲸鱼的鼻子
All in WEB3
展开
-
659. 分割数组为连续子序列(贪心算法.中等)
题目 * 给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个长度至少为 3 的子序列,其中每个子序列都由连续整数组成。 * * 如果可以完成上述分割,则返回 true ;否则,返回 false 。 * 示例 1: * * 输入: [1,2,3,3,4,5] * 输出: True * 解释: * 你可以分割出这样两个连续子序列 : * 1, 2, 3 * 3, 4, 5 * 示例 2: * * 输入: [1,2,3,3,4,4,5,5] * 输出原创 2021-03-14 22:08:39 · 278 阅读 · 3 评论 -
力扣698. 划分为k个相等的子集(回溯算法)
题目给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。引用labuladong大佬的回溯算法思想.回溯算法主要分为递归和回溯两部分.该种方式的题离不开选择向下递归的值以及向下递归计算失败后返回将值还原的回溯操作. 在这两部分中间根据不同的题进行不同的原创 2021-03-13 01:37:04 · 417 阅读 · 0 评论 -
华为机试二星题--机器人走迷宫
题目机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入.机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不能回退.如代码类注释展示的样子,#表示可以走的方格,0代表障碍,机器人从0,0的位置只能向下或者向前走到出口.其中会有不可达方格和陷阱方格.不可达方格为第四行前三个,该机器人在行走路径上不可能走到的方格,陷阱方格如第一行最后两个,走进之后则不能抵达终点.要求: 输出陷阱和不可达方格方格数量解析该原创 2021-02-16 16:57:43 · 6277 阅读 · 0 评论 -
力扣: 225题用队列实现栈
题目: 用队列实现栈使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。你可以假设所有操作原创 2020-07-27 01:31:03 · 207 阅读 · 0 评论 -
力扣:剑指Offer09题 用两个栈实现队列 & 232题 用栈实现队列
题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )例1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]例2:输入:["CQueue","deleteHead","appendTail","ap原创 2020-07-24 00:35:08 · 211 阅读 · 0 评论 -
力扣:面试题07&105题 : 根据二叉树的前序中序遍历重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000解题思路该题主要考察前序遍历/中序遍历的遍历顺序前序遍历: 由根节点开始访问,有左子节点就访问原创 2020-06-22 13:39:11 · 206 阅读 · 0 评论 -
力扣:面试题06题 从尾到头打印链表
题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题思路1.递归至最后一个节点依序输出,可以最大限度减少内存以及循环时间2.这道题要求返回原始数组所以递归效率不是最快,但是递归方法是最通用的一个方法3.由于返回的是原始数组所以避免不了增加一次填充数组的循环,所以可以直接不选择用递归的方式,以减少内存消耗题解递归题解/** * De原创 2020-05-27 23:02:09 · 176 阅读 · 1 评论 -
leetCode第四题寻找两个有序数组中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则...原创 2019-01-09 13:47:20 · 458 阅读 · 0 评论 -
leetCode 5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"回文就是 无论正反都是该字符串 它两边对称相等 我先放我的吧,防止你们看完不看我的了 时间比较长 竟然达到了五秒之多还好这道题没有时...原创 2019-01-10 13:34:12 · 147 阅读 · 0 评论 -
leetCode第三题无重复字符最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的...原创 2019-01-04 14:28:46 · 184 阅读 · 0 评论