![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
Brain_河神
........................
展开
-
LeetCode练习-中等 -[1283. 使结果不超过阈值的最小除数]
给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。每个数除以除数后都向上取整,比方说 7/3 = 3 , 10/2 = 5 。题目保证一定有解。示例 1:输入:nums = [1,2,5,9], threshold = 6输出:5解释:如果除数为 1 ,我们可以得到和为 17 (1+2+5+9)。如果除数为 4 ,我们可以原创 2021-04-17 17:44:39 · 151 阅读 · 0 评论 -
LeetCode练习-简单 -[1598. 文件夹操作日志搜集器]
每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录。下面给出对变更操作的说明:"../" :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹 。"./" :继续停留在当前文件夹。"x/" :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x 。给你一个字符串列表 logs ,其中 logs[i] 是用户在 ith 步执行的操作。文件系统启动时位于主文件夹,然后执行 logs 中的操作。执行完所有变更文件夹操作后,请你找出 返回主原创 2021-04-17 17:37:27 · 135 阅读 · 0 评论 -
LeetCode练习-简单 -[1160. 拼写单词]
给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat","bt","hat","tree"], chars = "atach"输出:6解释: 可以形成字符原创 2021-04-12 19:33:28 · 110 阅读 · 0 评论 -
LeetCode练习-简单 -[342. 4的幂]
LeetCode练习-简单 -[342. 4的幂]给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x示例 1:输入:n = 16输出:true示例 2:输入:n = 5输出:false示例 3:输入:n = 1输出:true提示: -231 <= n <= 231 - 1进阶:你能不使用循环或者递归来完成本题吗?思路一:递归递归进原创 2021-03-30 18:19:35 · 80 阅读 · 0 评论 -
LeetCode练习-简单 -[448. 找到所有数组中消失的数字]
LeetCode练习-简单 -448. 找到所有数组中消失的数字给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]思路一:Map映射思路:标记上每一个出现的数字,第二次循环判断是否出原创 2020-11-28 15:40:16 · 56 阅读 · 0 评论 -
LeetCode练习-中等 - [322. 零钱兑换]
LeetCode练习-中等 - 322. 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], am原创 2020-10-14 15:13:37 · 99 阅读 · 0 评论 -
LeetCode练习-中等 - 300. 最长上升子序列
LeetCode练习-中等 - 300. 最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?思路一:暴力时间复杂度: O(2^N)空间复杂度: O(N)这也原创 2020-10-11 22:40:13 · 102 阅读 · 0 评论 -
LeetCode练习-中等 -120. 三角形最小路径和(动态规划)
LeetCode练习-中等 -120. 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来原创 2020-08-16 10:14:14 · 106 阅读 · 0 评论 -
LeetCode练习-简单 -70. 爬楼梯(动态规划)
LeetCode练习-简单 -70. 爬楼梯(动态规划)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶分析: dp原理:原创 2020-08-12 21:55:57 · 134 阅读 · 0 评论 -
LeetCode练习-简单 -152. 乘积最大子数组(动态规划)
LeetCode练习-简单 -152. 乘积最大子数组(动态规划)给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。分析: dp原理:dp[i,0] = if nums[i]>=0原创 2020-08-29 18:52:20 · 145 阅读 · 0 评论 -
LeetCode练习-简单 -860. 柠檬水找零
LeetCode练习-简单 -860. 柠檬水找零在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,原创 2020-08-04 20:34:29 · 226 阅读 · 0 评论 -
LeetCode练习-简单 -415. 字符串相加
LeetCode练习-简单 -415. 字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num1 和num2 的长度都小于 5100num1 和num2 都只包含数字 0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式思路一:模拟竖列相加前后双指针依次从尾部相加进位复杂度:O(n)func addStrings(num1 string, num2 string) st原创 2020-08-03 20:28:20 · 108 阅读 · 0 评论 -
LeetCode练习-简单 -1413. 逐步求和得到正数的最小值
LeetCode -1413. 逐步求和得到正数的最小值给你一个整数数组 nums 。你可以选定任意的 正数 startValue 作为初始值。你需要从左到右遍历 nums 数组,并将 startValue 依次累加上 nums 数组中的值。请你在确保累加和始终大于等于 1 的前提下,选出一个最小的 正数 作为 startValue示例 1:输入:nums = [-3,2,-3,4,2]输出:5解释:如果你选择 startValue = 4,在第三次累加时,和小于 1 。累加求和原创 2020-07-21 20:22:59 · 139 阅读 · 0 评论 -
LeetCode 练习-简单-167. 两数之和 II - 输入有序数组
LeetCode 167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与原创 2020-07-20 20:32:13 · 119 阅读 · 0 评论 -
LeetCode 练习-简单-1512. 好数对的数目
LeetCode 1512. 好数对的数目给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。示例 1:输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始示例 2:输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对示例 3:输入:原创 2020-07-19 10:26:27 · 318 阅读 · 0 评论 -
LeetCode练习-简单-35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0思路1: 遍历所有的元素,判断元素排序时应该在的位置,返回其索引值func searchInsert(nums []int原创 2020-07-17 15:43:33 · 121 阅读 · 0 评论