随笔分类 -  力扣算法Golang篇

904. 水果成篮
摘要:904. 水果成篮 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果: 你只有 两个 篮子,并且每个篮子只能装 阅读全文

posted @ 2022-10-17 11:18 HHHuskie 阅读(35) 评论(0) 推荐(0)

242. 有效的字母异位词
摘要:242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2 阅读全文

posted @ 2022-10-17 10:52 HHHuskie 阅读(19) 评论(0) 推荐(0)

142. 环形链表 II
摘要:142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 阅读全文

posted @ 2022-10-16 14:46 HHHuskie 阅读(27) 评论(0) 推荐(0)

19. 删除链表的倒数第 N 个结点
摘要:19. 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = 阅读全文

posted @ 2022-10-15 23:28 HHHuskie 阅读(24) 评论(0) 推荐(0)

1441. 用栈操作构建数组
摘要:1441. 用栈操作构建数组 给你一个数组 target 和一个整数 n。每次迭代,需要从 list = { 1 , 2 , 3 ..., n } 中依次读取一个数字。 请使用下述操作来构建目标数组 target : "Push":从 list 中读取一个新元素, 并将其推入数组中。 "Pop":删 阅读全文

posted @ 2022-10-15 22:48 HHHuskie 阅读(29) 评论(0) 推荐(0)

24. 两两交换链表中的节点
摘要:24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3 阅读全文

posted @ 2022-10-14 22:37 HHHuskie 阅读(32) 评论(0) 推荐(0)

206. 反转链表
摘要:206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中 阅读全文

posted @ 2022-10-14 17:35 HHHuskie 阅读(18) 评论(0) 推荐(0)

707. 设计链表
摘要:707. 设计链表 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 阅读全文

posted @ 2022-10-14 16:38 HHHuskie 阅读(28) 评论(0) 推荐(0)

203. 移除链表元素
摘要:203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:he 阅读全文

posted @ 2022-10-13 14:02 HHHuskie 阅读(18) 评论(0) 推荐(0)

59. 螺旋矩阵 II
摘要:59. 螺旋矩阵 II 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1 输出:[[1]] 提示: 阅读全文

posted @ 2022-10-12 22:36 HHHuskie 阅读(21) 评论(0) 推荐(0)

209. 长度最小的子数组
摘要:209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和≥ target的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 阅读全文

posted @ 2022-10-12 22:03 HHHuskie 阅读(26) 评论(0) 推荐(0)

704. 二分查找
摘要:704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 阅读全文

posted @ 2022-10-12 10:48 HHHuskie 阅读(19) 评论(0) 推荐(0)

817. 链表组件
摘要:817. 链表组件 给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 nums,该列表是上述链表中整型值的一个子集。 返回列表 nums 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 nums 中)构成的集合。 示例 1: 输入: h 阅读全文

posted @ 2022-10-12 00:58 HHHuskie 阅读(28) 评论(0) 推荐(0)

1790. 仅执行一次字符串交换能否使两个字符串相等
摘要:1790. 仅执行一次字符串交换能否使两个字符串相等 给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换 操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。 如果对 其中一个字符串 执行 最多一次字符串交换 就可以使两个字符串相等,返回 true ;否则 阅读全文

posted @ 2022-10-11 10:24 HHHuskie 阅读(34) 评论(0) 推荐(0)

921. 使括号有效的最少添加
摘要:921. 使括号有效的最少添加 只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,移动N次,你就可以在字符串的任何位置插入 阅读全文

posted @ 2022-10-10 14:54 HHHuskie 阅读(26) 评论(0) 推荐(0)

777. 在LR字符串中交换相邻字符
摘要:777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一 阅读全文

posted @ 2022-10-09 20:00 HHHuskie 阅读(55) 评论(0) 推荐(0)

856. 括号的分数
摘要:856. 括号的分数 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。 示例 1: 输入: "()" 输出: 1 示例 2: 输入: "(())" 阅读全文

posted @ 2022-10-09 15:34 HHHuskie 阅读(31) 评论(0) 推荐(0)

870. 优势洗牌
摘要:870. 优势洗牌 给定两个大小相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例 1: 输入:nums1 = [2, 阅读全文

posted @ 2022-10-08 16:50 HHHuskie 阅读(35) 评论(0) 推荐(0)

55. 跳跃游戏
摘要:55. 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后 阅读全文

posted @ 2022-10-06 16:43 HHHuskie 阅读(48) 评论(1) 推荐(0)

22. 括号生成(dfs)
摘要:22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 阅读全文

posted @ 2022-10-06 16:08 HHHuskie 阅读(28) 评论(0) 推荐(0)

导航