【每日算法】LeetCode 128 —— 最长连续序列(二百一十八)|算法|LeetCode题目内容给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
示例示例 1:
输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它 ...
Read more
【每日算法】LeetCode 125 —— 验证回文串(二百一十七)|算法|LeetCode题目内容给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例示例 1:
输入: “A man, a plan, a canal: Panama”输出: true解释:”amanaplanacanalpanama” 是 ...
Read more
【每日算法】LeetCode 124 —— 二叉树中的最大路径和 (二百一十六)|算法|LeetCode题目内容路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
路径和 是路径中各节点值的总和。
给你一个二叉树的根节点 root ,返回其 最大路径和 。
示例示例 1:
输入: ...
Read more
【每日算法】LeetCode 123 —— 买卖股票的最佳时机III(二百一十五)|算法|LeetCode题目内容给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例示例 1:
输入:prices = [3,3,5,0,0,3,1,4]输出:6 ...
Read more
【每日算法】LeetCode 122 —— 买卖股票的最佳时机II(二百一十四)|算法|LeetCode题目内容给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例示例 1:
输入: prices = ...
Read more
【每日算法】LeetCode 121 —— 买卖股票的最佳时机(二百一十三)|算法|LeetCode题目内容给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返 ...
Read more
【每日算法】LeetCode 120 —— 三角形最小路径和(二百一十二)|算法|LeetCode题目内容给定一个三角形 triangle ,找出自顶向下的最小路径和。
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + ...
Read more
【每日算法】LeetCode 119 —— 杨辉三角II(二百一十一)|算法|LeetCode题目内容给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
请优化你的算法到 O(rowIndex) 空间复杂度。
示例
示例 1:
输入: rowIndex = 3输出: [1,3,3,1]
示例 2:
输入: r ...
Read more
【每日算法】LeetCode 118 —— 杨辉三角(二百一十)|算法|LeetCode题目内容给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例示例 1:
输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例 2:
输入: ...
Read more
【每日算法】LeetCode 117 —— 填充每个节点的下一个右侧节点指针II(二百零九)|算法|LeetCode题目内容给定一个二叉树
struct Node { int val; Node left; Node right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。
初始状态下,所有 nex ...
Read more