代码编织梦想

2020.12.12每日复习-爱代码爱编程

34.在排序数组中查找元素的第一个和最后一个位置 分析 采用二分法,分别对左右边界进行查找class Solution { public int[] searchRange(int[] nums, int target) { if(nums.length < 1) return new int[]{-1, -1}; int num

LeetCode: 376. 摆动序列-爱代码爱编程

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

【LeetCode】第119题——杨辉三角II(难度:简单)-爱代码爱编程

【LeetCode】第119题——杨辉三角II(难度:简单) 题目描述解题思路代码详解注意点 题目描述 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1]进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? 来源:力扣(

【刷题1】LeetCode 160. 相交链表 java题解-爱代码爱编程

https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

31. 下一个排列-爱代码爱编程

实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 示例 1: 输入:nums = [1,2,3] 输出:[1,3,2] 示例 2: 输入:nums = [3,2,1] 输出:[1,2,3]

程序员面试金典 - 面试题 02.06. 回文链表-爱代码爱编程

题目难度: 简单 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2输出: false示例 2: 输入: 1->2->2-&g

【LeetCode】310. Minimum Height Trees 最小高度树(Medium)(JAVA)-爱代码爱编程

【LeetCode】310. Minimum Height Trees 最小高度树(Medium)(JAVA) 题目地址: https://leetcode.com/problems/minimum-height-trees/ 题目描述: A tree is an undirected graph in which any two vertices

【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期(Medium)(JAVA)-爱代码爱编程

【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期(Medium)(JAVA) 题目地址: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 题目描述:

leetcode.最长上升子序列(longest-increasing-subsequence)-爱代码爱编程

最长上升子序列(longest-increasing-subsequence) 题解 代码一 class Solution { public int lengthOfLIS(int[] nums) { if (nums.length == 0) { return 0; }

【LeetCode】306. Additive Number 累加数(Medium)(JAVA)-爱代码爱编程

【LeetCode】306. Additive Number 累加数(Medium)(JAVA) 题目地址: https://leetcode.com/problems/additive-number/ 题目描述: Additive number is a string whose digits can form additive sequence.

【LeetCode】301. Remove Invalid Parentheses 删除无效的括号(Hard)(JAVA)-爱代码爱编程

【LeetCode】301. Remove Invalid Parentheses 删除无效的括号(Hard)(JAVA) 题目地址: https://leetcode.com/problems/remove-invalid-parentheses/ 题目描述: Remove the minimum number of invalid parenth

单链表环相关问题-爱代码爱编程

1、判断是否有环 https://leetcode-cn.com/problems/linked-list-cycle/ 思路,快慢指针,快指针先于慢指针入环,然后相遇 public boolean hasCycle(ListNode head) { ListNode fast,slow; fast = slow =

力扣 LeetCode 376. 摆动序列-爱代码爱编程

用一个sig来表示当前子序列的最后两个数字的差值为正数还是负数,当sig为0则说明为第一个nums[0](如果前n个值都为nums[0]则sig一直为0,直到出现非nums[0]的值)。如果sig为1,则表示最后两个值差值为正,接下来需要找到一个差值为负数的,而为-1则反之。 class Solution { public: int wiggl

LeetCode题解(0376):摆动序列(Python)-爱代码爱编程

题目:原题链接(中等) 标签:贪心算法、动态规划、数组 解法时间复杂度空间复杂度执行用时Ans 1 (Python) O (

DAY 75LeetCode 学习笔记-爱代码爱编程

638. 大礼包 前言题目源码 前言 今天的题目有点意思,看了半天才看懂,第二个礼包的list中的每个list,头几个是礼包中各个物品的数量,最后一个礼包价格,为此最低价格有两种策略,首先第一种是不购买礼包,直接使用needs和price相乘。另外一种是购买礼包,礼包的数量不能大于needs数量,所以这里需要一个判断,其次我们只要迭代的每次更

leetcode_376_摆动序列-爱代码爱编程

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

【LeetCode】376. Wiggle Subsequence 摆动序列(Medium)(JAVA)每日一题-爱代码爱编程

【LeetCode】376. Wiggle Subsequence 摆动序列(Medium)(JAVA) 题目地址: https://leetcode.com/problems/wiggle-subsequence/ 题目描述: A sequence of numbers is called a wiggle sequence if the diff

《Leetcode of December》376.摆动序列-爱代码爱编程

class Solution: def wiggleMaxLength(self, nums: List[int]) -> int: if len(nums)<2: return len(nums) down,up=1,1 #down:下降摆动序列:序列是摆动序

leetcode-只出现一次的数字(c++)-爱代码爱编程

题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(LeetCo

376. 摆动序列 ( 贪心 / dp )-爱代码爱编程

LeetCode: 376. 摆动序列 这题是 贪心典型题目 经典 dp 问题 贪心 1.1 利用摆动序列,波峰和波谷的差值最多为1的特点。dp (通用解法) 2.1 跟股票问题很像,这道题我们定义两种状态。 2.2 d