![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
文章平均质量分 61
浩波的笔记
微信公众号:浩波的笔记
展开
-
LeetCode栈专题-1(go/py3/c++)
每个专题5道,一天一道232. 用栈实现队列地址:https://leetcode-cn.com/problems/implement-queue-using-stacks/解题思路1两个数据结构的概念:栈:后进先出队列:先进先出题目让我们用两个栈来实现一个队列,就是要让两个栈实现一个先进先出的数据结构。思路:「输入栈」会把输入顺序颠倒;如果把「输入栈」的元素逐个弹出放到「输出栈」,再从「输出栈」弹出元素的时候,则可以负负得正,实现了先进先出。具体做法:可以把一个栈当做「输入栈」原创 2021-04-28 20:25:26 · 176 阅读 · 1 评论 -
leetcode169. 多数元素——py&go
题目来源:169. 多数元素:https://leetcode-cn.com/problems/majority-element/方法一:妙用排序法(不推荐)class Solution: def majorityElement(self, nums: List[int]) -> int: nums.sort() a = -((-len(nums))// 2) - 1 return nums[a]方法二:摩尔投票法根据上述的算法思想,原创 2020-08-25 19:08:27 · 173 阅读 · 0 评论 -
leetcode53. 最大子序和详解——py&go
题目连接:53. 最大子序和https://leetcode-cn.com/problems/maximum-subarray/之前有总结过C++实现:最大子段和问题——详解(C++):https://blog.csdn.net/weixin_44023658/article/details/105928520下面给出py和go方法动态规划方法pyclass Solution(object): def maxSubArray(self, nums): """原创 2020-08-25 17:00:54 · 113 阅读 · 0 评论 -
动态规划
动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。主要思想若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。动态规划往往用于优化递归问题,例如斐波那契数列,如果运用递归的方式来求解会重复计算很多相同的子问题,利用动态规划的思想可以减少计算量。动态规划法仅仅解决每个子问题一次,具有天然剪枝的功能,从而减少计算量,一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。动态规划模板步骤:原创 2020-08-23 23:26:30 · 170 阅读 · 1 评论 -
leetcode50:Pow(x, n)详解——py&go
leetcode50:https://leetcode-cn.com/problems/powx-n/解题思路:求 xnx^{n}xn 最简单的方法是通过循环将 nnn 个 xxx 乘起来, 依次求 x1,x2,…,xn−1,xn,x^{1}, x^{2}, \ldots, x^{n-1}, x^{n},x1,x2,…,xn−1,xn, 时间复杂度为 O(n)O(n)O(n)快速幂方法可将时间复杂度降低至 O(log n),以下从“二分法”和“二进制”两个角度解析快速景法。快速审解析(二进制角度):原创 2020-08-23 17:45:30 · 368 阅读 · 0 评论