刷题
文章平均质量分 75
力扣
牛客
各大OJ
啦啦啦___123
...
展开
-
深度优先搜索(DFS)与广度优先搜索(BFS) -- 总结
刷题过程中经常遇到DFS和BFS问题,在此总结一下。参考:白话解释 DFS 与 BFS 算法 (二叉树的先序遍历,中序遍历、后序遍历、层次遍历)_欢迎来到Gorit的博客-CSDN博客_dfs和先序遍历深度优先遍历(DFS)1、先序遍历(先遍历根节点,然后左节点,右节点)2、中序遍历(先遍历左节点,然后根节点,然后右节点)3、后序遍历(先遍历左右节点,然后遍历根节点) 使用递归或栈实现广度优先比例(BFS)1、层次遍历(每层从左到右遍历节点) ...原创 2021-12-07 11:22:18 · 417 阅读 · 0 评论 -
刷题进阶 -- 剑指Offer、力扣算法题
力扣的刷题计划展览罢了懒得记录题解了,刷题地址「剑指 Offer」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台刷题过程中发现动态规划是弱项,找了动态规划的学习计划:「动态规划」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台以及递归、回溯、BFS、DFS:「算法」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台发现一个面试小题库:「高效制胜」 - 学习计划 - 力扣(LeetCode)全...原创 2021-09-28 15:09:06 · 340 阅读 · 0 评论 -
力扣题目系列:239. 滑动窗口最大值 -- 困难题打卡(难点在时间限制)
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例给你一个整数数组 nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- --...原创 2021-01-12 17:09:33 · 395 阅读 · 0 评论 -
力扣题目系列:605. 种花问题
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数n ,能否在不打破种植规则的情况下种入n朵花?能则返回 true ,不能则返回 false。来源:力扣(LeetCode)链接:https://leetcode-...原创 2021-01-02 23:03:41 · 451 阅读 · 0 评论 -
力扣题目系列:1299. 将每个元素替换为右侧最大元素 -- 一道算法优化入门题
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例给你一个数组arr,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用-1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示:1 <= arr.length <= 10^41 <= arr[i] <= 10^5来源:力扣(LeetCode)链接:https://le...原创 2021-01-01 20:23:47 · 134 阅读 · 0 评论 -
力扣题目系列:746. 使用最小花费爬楼梯 -- 一道动态规划入门题
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例数组的每个索引作为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步...原创 2020-12-21 22:11:05 · 191 阅读 · 0 评论 -
力扣题目系列:290. 单词规律
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例给定一种规律 pattern和一个字符串str,判断 str 是否遵循相同的规律。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba", str = "dog ca...原创 2020-12-20 22:36:49 · 170 阅读 · 0 评论 -
力扣题目系列:204. 计数质数
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例统计所有小于非负整数n的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 106来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-...原创 2020-12-17 14:00:11 · 214 阅读 · 0 评论 -
力扣题目系列:860. 柠檬水找零
刷题系列博客链接:机试题目目录题目及示例我的题解题目及示例在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回 false。示例 1:输入:[5,5,5,10,20]...原创 2020-12-13 15:37:57 · 189 阅读 · 0 评论 -
力扣题目系列:1370. 上升下降字符串(Python题解)
给你一个字符串s,请你根据下面的算法重新构造字符串:从 s中选出 最小的字符,将它 接在结果字符串的后面。从 s剩余字符中选出最小的字符,且该字符比上一个添加的字符大,将它 接在结果字符串后面。重复步骤 2 ,直到你没法从 s中选择字符。从 s中选出 最大的字符,将它 接在结果字符串的后面。从 s剩余字符中选出最大的字符,且该字符比上一个添加的字符小,将它 接在结果字符串后面。重复步骤 5,直到你没法从 s中选择字符。重复步骤 1 到 6 ,直到 ...原创 2020-11-25 14:35:26 · 176 阅读 · 0 评论 -
力扣题目系列:474. 一和零
题目及示例在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个0和 n 个1。另外,还有一个仅包含0和1字符串的数组。你的任务是使用给定的m 个0和 n 个1,找到能拼出存在于数组中的字符串的最大数量。每个0和1至多被使用一次。注意:给定0和1的数量都不会超过100。给定字符串数组的长度不会超过600。示例 1:输入: Array = ...原创 2020-08-30 22:27:24 · 346 阅读 · 0 评论 -
力扣题目系列:322. 零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11 输出: 3 解...原创 2020-03-08 15:06:57 · 342 阅读 · 0 评论 -
力扣题目系列:121. 买卖股票的最佳时机
给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4] 输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6...原创 2020-03-09 23:33:48 · 128 阅读 · 0 评论 -
力扣题目系列:1. 两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9,因为 nums[0] + nums...原创 2020-03-08 13:34:01 · 261 阅读 · 0 评论 -
力扣题目系列:面试题57 - II. 和为s的连续正数序列
输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9 输出:[[2,3,4],[4,5]]示例 2:输入:target = 15 输出:[[1,2,3,4,5],[4...原创 2020-03-07 17:14:33 · 167 阅读 · 0 评论 -
力扣题目系列:1313. 解压缩编码列表
给你一个以行程长度编码压缩的整数列表nums。考虑每对相邻的两个元素 freq, val] = [nums[2*i], nums[2*i+1]](其中i >= 0),每一对都表示解压后子列表中有 freq个值为val的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解压后的列表。示例1:输入:nums =...原创 2020-03-08 13:22:26 · 148 阅读 · 0 评论