
数据结构与算法
编程内功,数据结构与算法分析与设计!
CodeMagiclin
前端开发工程师。
展开
-
关于对leetcode946验证栈序列的思考
题目描述 给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 示例 1: 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行: push(1), push(2), push(3), push(4), pop() -> 4, push(5), pop() -> 5,原创 2021-10-09 15:49:41 · 146 阅读 · 0 评论 -
关于对leetcode933最近请求次数的思考
关于对leetcode933最近请求次数的思考 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 题目描述 写一个RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000毫秒前到现在的 ping 数。 任何处于[t - 3000, t]时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。 保证每次对 ping 的调用都使用比之前更大的原创 2021-10-09 14:58:11 · 109 阅读 · 0 评论 -
关于对leetcode1两数之和的思考
【力扣扣】两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3原创 2021-05-04 22:08:05 · 121 阅读 · 0 评论 -
关于对leetcode53最大子序和的思考
关于对leetcode53最大子序和的思考 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 输入:nums = [1] 输出:1 示例 3: 输入:nums = [0] 输出:0 示例 4: 输入:nums = [-1] 输出:-1 示例 5: 输入:nums = [-100000原创 2021-08-04 10:56:54 · 108 阅读 · 0 评论 -
关于对leetcode20有效的括号的思考
关于对leetcode20有效的括号的思考 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3: 输入:s = "(]" 输出:false 示例 4: 输入:s = "([)]" 输出:false 示例 5: 输入:s = "{[]}原创 2021-08-04 11:27:04 · 106 阅读 · 0 评论 -
珺珺学算法(1)算法概述及复杂度分析
珺珺学算法(1)算法概述及复杂度分析 一、什么是算法? **算法(Algorithm)**是指解决问题的方法或过程,它包含一系列步骤,用来将输入数据转换成输出结果。 算法具有以下性质: **输 入:**有零个或多个输入 **输 出:**至少有一个输出 **确定性:**组成算法的每条指令清晰、无歧义 **有限性:**算法中每条指令的执行次数有限,执行每条指令的时间也有限 **程序:**是算法用某种程序设计语言的具体实现,程序不一定满足有限性 **算法复杂性 :**算法所需要的计算机资源 **算法的时间复杂原创 2021-07-30 12:35:23 · 131 阅读 · 0 评论