代码编织梦想

[链表]leetcode1171-从链表中删去总和值为0的连续节点-爱代码爱编程

[链表]–从链表中删去总和值为0的连续节点 题目链接 leetcode 1171.从链表中删去总和值为0的连续节点 题目 给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。 删除完毕后,请你返回最终结果链表的头节点。 你可以返回任何满足题目要求的答案。 (注意,下面

每日一道Leetcode - 844. 比较含退格的字符串【双指针+字符串反向遍历】-爱代码爱编程

class Solution { public boolean backspaceCompare(String S, String T) { int i = S.length()-1; int j = T.length()-1; int s1 = 0; int t

389-找不同(饲养员视频笔记)-爱代码爱编程

//给定两个字符串 s 和 t,它们只包含小写字母。 // // 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 // // 请找出在 t 中被添加的字母。 // // // // 示例 1: // // 输入:s = "abcd", t = "abcde" //输出:"e" //解释:'e' 是那个被添加的字母。 // //

JavaScript 最长公共前缀 力扣 探索字节跳动-爱代码爱编程

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 思路:当

有序链表转换二叉搜索树-爱代码爱编程

题目描述: 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜

Leetcode 538 题 把二叉搜索树转换为累加树-爱代码爱编程

题目来源:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/ 个人公众号:小猿君的算法笔记 题目描述 给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和

leetcode 217.存在重复元素-爱代码爱编程

leetcode 217.存在重复元素 题干 给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,1,

Leetcode73. 矩阵置零(C++思路与代码)-爱代码爱编程

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 思路: 将每一行每一列的第一个元素设置为标识符,如果为0,那么表示这一行或者这一列有元素0。由于第

0数组中等 牛客NC.37合并数组 leetcode56. 合并区间-爱代码爱编程

56. 合并区间 问题描述 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals = [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 思路 首先对二维数组排序,创建一个等长二维数

[链表]leetcode1019-链表中的下一个更大节点-爱代码爱编程

[链表]–链表中的下一个更大节点 题目链接 leetcode 1019.链表中的下一个更大节点 题目 给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, … 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_large

[链表]leetcode817-链表组件-爱代码爱编程

[链表]–链表组件 题目链接 leetcode 817.链表组件 题目 给定链表头结点 head,该链表上的每个结点都有一个 唯一的整型值 。 同时给定列表 G,该列表是上述链表中整型值的一个子集。 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。 示例 输入: head:

北京大学陈斌老师---计算和控制流上机程序-爱代码爱编程

T1 求1!+2!+,,,+n! # T1方法一 求1!+2!+,,,+n! n = int(input("请输入n")) al = 0 for i in range(1, n+1): b = 1 # 每次都会将b更新 for j in range(1, i+1): b = j*b # i的阶乘 p

leetcode_217. 存在重复元素-爱代码爱编程

目录 一、题目内容 二、解题思路 三、代码 一、题目内容 给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4]

leetcode 376. 摆动序列(dp)-爱代码爱编程

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个

LeetCode 300. 最长连续序列(map + 朴素遍历)+(set + 优化遍历)—— JavaScript-爱代码爱编程

相似题:LeetCode 300. 最长上升子序列 本题链接:https://leetcode-cn.com/problems/longest-consecutive-sequence/ 题描述: 解题思路(map + 遍历): 利用 map 表示当前元素是否存在数组中。 每次对当前元素进行向前和向后的遍历,统计该元素的连续序列的长度。 代

leetcode 滑动窗口小结 (一)-爱代码爱编程

目录 小结以及代码框架76. 最小覆盖子串滑动窗口代码以及注释567. 字符串的排列滑动窗口438. 找到字符串中所有字母异位词3. 无重复字符的最长子串化简框架reference 小结以及代码框架 滑动窗口技巧属于双指针技巧。 该算法的思路为维护一个窗口,不断滑动,然后更新答案。 大致框架如下:[参考labuladong的

LeetCode 100. 相同的树 做题小结-爱代码爱编程

题目: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: tr

算法总结一: Linked List的高频操作-爱代码爱编程

学习目标: 算法总结一: Linked List 学习内容: 1、 Leetcode题库Linked List tag高频题 学习时间: 1、 周一至周天晚上 7 点—晚上9点 学习产出: 1、 技术笔记 1 篇 2、解题思路视频1个 ===================================== linked list的

leetcode解题模板 ——双指针-爱代码爱编程

1.模板 /*(1)定义两个边界指针*/ int left = 0;//左边界 int right = num.size() - 1;//右边界 while(left<right){/*执行操作*/} /*(2)定义两个快慢指针*/ ListNode*s = head;//慢指针 ListNode*f = head->next;//快指针

LeetCode:实现摇摆序列-爱代码爱编程

A sequence of number is called a wiggle sequence if the differeces between successive numbers strictly alternative between positive and negative.The frist differece(if one exists