lc56. 合并区间-编程思维

题目来源于力扣题库,题目链接:LC56.合并区间 Q:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例1: 输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8

⌈力扣⌋删除字符串中的所有相邻重复项-编程思维

题目 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string 给出由小写字母组成的字符串  S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例:

lc15. 三数之和-编程思维

 题目来源于力扣题库,题目链接:LC15. 三数之和 Q:给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例1: 输入:

lc19. 删除链表的倒数第 n 个结点-编程思维

删除链表的倒数第N个结点(中等) Q:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。   示例: 示例一:输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例二:输入:head = [1], n = 1 输出:[] 实例三:输入:head = [1,2], n = 1 输出:[1] A:思路:对于本题来讲,其本质仍为删除链表中的某个结点

lc2. 两数相加-编程思维

Q:给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储 一位数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例:   示例1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例2: 输入:l1

lc206. 反转链表-编程思维

Q:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。  示例: 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] 输出:[2,1] 示例3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000

【leetcode剑指offer#04】包含min函数的栈、栈的压入、弹出序列(辅助栈的应用)-编程思维

包含min函数的栈 https://leetcode.cn/problems/bao-han-minhan-shu-de-zhan-lcof/ 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minStack.pus

【leetcode字符串#extra】kmp巩固练习:旋转字符串、字符串轮转-编程思维

旋转字符串 https://leetcode.cn/problems/rotate-string/ 给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。 s 的 旋转操作 就是将 s 最左边的字符移动到最右边。 例如, 若 s = 'abcde',在旋转一次之后结果就是'bcdea' 。 示例 1: 输入: s = "abcde", goa

2022-02-15:扫地机器人。 房间(用格栅表示)中有一个扫地机器人。 格栅中的每一个格子有空和障碍物两种可能。 扫地机器人提供4个api,可以向前进,向左转或者向右转。每次转弯90度。 当扫地机-编程思维

2022-02-15:扫地机器人。 房间(用格栅表示)中有一个扫地机器人。 格栅中的每一个格子有空和障碍物两种可能。 扫地机器人提供4个API,可以向前进,向左转或者向右转。每次转弯90度。 当扫地机器人试图进入障碍物格子

[leetcode] 0001. 两数之和-编程思维

1.两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。   示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为

[leetcode] 0657. 机器人能否返回原点-编程思维

657. 机器人能否返回原点 题目描述 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。 如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。 注

[leetcode] 0661. 图片平滑器-编程思维

661. 图片平滑器 题目描述 图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。 每个单元格的  平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。 如果一个单元格周围存在单元格缺失的情况,则计算平均灰度时不考虑缺失的单元格(即,需要计算红色平

[leetcode] 0674. 最长连续递增序列-编程思维

674. 最长连续递增序列 题目描述 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums

[leetcode] 0680. 验证回文串 ii-编程思维

680. 验证回文串 II 点击上方标题跳转至leetcode 题目描述 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。   示例 1: 输入:s = "aba" 输出:true 示例 2: 输入:s = "abca" 输出:true 解释:你可以删除字符 'c' 。 示例 3: 输入:s = "a

[leetcode] 0682. 棒球比赛-编程思维

682. 棒球比赛 点击上方标题跳转至leetcode 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则: 整数 x - 表示本回合新获得分数 x "+" - 表示本回合新获得的

[leetcode] 0693. 交替位二进制数-编程思维

693. 交替位二进制数 点击上方标题跳转至leetcode 题目描述 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。   示例 1: 输入:n = 5 输出:true 解释:5 的二进制表示是:101 示例 2: 输入:n = 7 输出:false 解释:7 的二进制表示是:111. 示例 3: 输入:n = 11 输出:f

[leetcode] 0696. 计数二进制子串-编程思维

696. 计数二进制子串 点击上方链接跳转至leetcode 题目描述 给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。 重复出现(不同位置)的子串也要统计它们出现的次数。   示例 1: 输入:s = "00110011" 输出:6 解释:6 个子串满足具有相同数量的连续 1 和 0 :"0011

[leetcode] 0697.数组的度-编程思维

697. 数组的度 点击上方标题跳转至leetcode 题目描述 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。   示例 1: 输入:nums = [1,2,2,3,1] 输出:2 解释: 输入数组的度是 2 ,因为元素 1 和 2 的出现频数最

[leetcode] 0703.数据流中的第k大元素-编程思维

703. 数据流中的第 K 大元素 点击上方标题跳转至leetcode 题目描述 设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。 请实现 KthLargest 类: KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。 int add(int val) 将 val 插入数