一、力扣978978. 最长湍流子数组 - 力扣(LeetCode) (一)题目详情 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 max = Math.max(Math.max(max,f[i]),g[i]); } return max; } } 运行截图: 二、力扣 单词拆分 - 力扣(LeetCode) (一)题目详情 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 return dp[n]; } } 运行截图: 三、力扣467467. 环绕字符串中唯一的子字符串 - 力扣(LeetCode) (一)题目详情 定义字符串 base 为一个 "abcdefghijklmnopqrstuvwxyz" 无限环绕的字符串,所以 base 看起来是这样的
例如nums=[3,1,2,3,3,3,3],target=2,首次二分时无法判断区间 [0,3]和区间 [4,6]哪个是有序的。 例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 比如当n为5的时候,num的初始下标为3, 所以num就是3,也就是说从0-n-1的序列中, 经过n-1轮的淘汰,3这个元素最终存活下来了,也是最终的结果。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。 例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?
他 每天 都往力扣银行里存钱。 最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。 给你 n ,请你返回在第 n 天结束的时候他在力扣银行总共存了多少块钱。 } } }; 方法: 小于7等差数列1开始到n结束总共n个数,(1+n)n/2 大于7先考虑整周,一周28也就是n/728; 然后考虑整周的增量,第1周增加0,第2周增加7,第3周 (0+n/7-1)(n/7)7/2 考虑余下的天数,从1到n%7总共n%7个数,(1+n%7)(n%7)/2 然后考虑余下的天数的增量,第1周后的余数增加1(n%7),第2周增加2*(n%7),第3周 3*(n%7),(n/7)*(n%7)
示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 原题url:https://leetcode-cn.com
示例 : 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。 比如: 小偷到了第3家,他有两个选择:不偷第3家之后去第4家、偷完第3家之后去第5家。 这时他需要比较的是: 从第4家开始能偷到的最多金钱 第3家的金钱加上从第5家开始能偷到的最多金钱 上面两者谁更多,就选择怎么做。
✨ 前言 本文用于记录力扣有关链表的oj题,环形链表l和环形链表II. 主要采用快慢指针的方法. 一、环形链表 声明:题目来源于 力扣 题目链接:传送门 题目介绍: 给你一个链表的头节点 head ,判断链表中是否有环。 示例1: 示例1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 slow) { return true; } } return false; } 提交结果: 二、环形链表 声明:题目来源于 力扣 示例3: 输入:head = [1], pos = -1 输出:返回 null 解释:链表中没有环。
[TOC] 做题记录 从基础简单的题开始 简单题 1、两数之和 解题方法:①两层遍历求解 ②使用hashMap存储对应的数值和下标 2、两数相加 3、最长无重复字段 ①使用滑动窗口②使用hashMap
示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出 ).split(''); strToArr = strToArr.reverse(); return strToArr.join(''); }; console.log(reverse(123)); 3 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 示例 1: 输入:n = 27 输出:true 示例 2: 输入:n = 0 输出:false 示例 3: 输入:n 输入:n = 45 输出:false let isPowerOfThree = n => { if(n === 1) return true; if(Number.isInteger(n / 3)
示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 有三种方案: 使用栈解决 双链表解决 递归解决 使用栈解决
目录 第1题:相同的树 第2题:对称二叉树 第3题:二叉树的最大深度 第4题:二叉树的最小深度 第5题:路径总和 第6题:杨辉三角1 第7题:杨辉三角2 第8题:买卖股票的最佳时机1 第9题:买卖股票的最佳时机 2 第10题:验证回文串 ---- 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 false; } } bool isSymmetric(struct TreeNode* root){ return isMirror(root, root); } ---- 第3题
请你返回由 [low, high] 范围内所有顺次数组成的 有序 列表(从小到大排序)。
力扣78. 子集 题目描述: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums = [0] 输出:[[],[0 , i+1); // 撤销选择 track.pop_back(); } } }; 完整的测试示例C++代码如下: /* 力扣 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums 撤销选择 track.pop_back(); } } }; int main() { vector<int> nums = { 1, 2, 3
示例 3: 输入:"/home//foo/" 输出:"/home/foo" 解释:在规范路径中,多个连续斜杠需要用一个斜杠替换。 示例 4: 输入:"/a/./b/../..
其实你可以简单理解为: 当我们知道了: a / b = 3 b / d = 2 c / d = 4 我们可以将 d 看成是根节点,它有子节点 b、c,b有子节点 a 这样是不是好理解多了。
示例 1: 输入: nums: [1, 1, 1, 1, 1], S: 3 输出: 5 解释: -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1- 1+1 = 3 +1+1+1+1-1 = 3 一共有5种方法让最终目标和为3。
个人,给定一个 res 数组,每个元素含有两个元素,表示这两个人不能结为朋友,再给定一个 req 数组,每个元素也含有两个元素,表示这两个人想要结成朋友
fourSum = function (nums, target) { if (nums.length < 4) return [] let n1, n2, n3, nums.sort((a, b) => (a - b)) let arr = [] for (let i = 0; i < nums.length - 3; j + 1, right = nums.length - 1 while (left < right) { n3 = nums[left], n4 = nums[right] let sum = n1 + n2 + n3 + n4 continue } arr.push([n1, n2, n3,
示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 原题url:https://leetcode-cn.com result.next = second; } return head.next; } } 执行用时,有的时候是4 ms,有的时候是3
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
package Leetcode真题分门别类.链表; /** * @Author bennyrhys * @Date 2020-05-29 11:42 * * 思路: * 链表翻转,直接改变指针指向 * 保存状态需要创建三个指针(pre前 cur当前 next下一个) * * 复杂度: * 时间O(N) * 空间O(1) * * 注意while处正好判断cur是否为空的情况,返回头节点为末尾null的前一个节点cur * */ import 玩转数据结构.链表看递归.移除链