![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
序列
Hey1213
这个作者很懒,什么都没留下…
展开
-
189. 旋转数组
题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。说明:要求用空间复杂度为O(1)的原地算法我的想法,先延长数组,再切断……但提交以后突然发现,这也不是O(1)的 空间复杂度class Solution: def rotate(self, nums: List[int], k: int) -> None: """ Do...原创 2019-11-04 22:21:33 · 110 阅读 · 0 评论 -
169. 求众数
题目:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。我自己是用的字典,写这题是因为看到LeetCode的题解,觉得很巧妙:① 排序class Solution: def majorityElement(self, nums: List[int]) -> int: ...原创 2019-10-31 13:32:15 · 91 阅读 · 0 评论 -
152. 乘积最大子序列
题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)思路:这题最开始想的是用动态规划来解,但由于正负数的情况不同,定义了positive和negative两个DP数组。非常非常简单粗暴的思路和各种判断:import sysclass Solution: def maxProduct(self, nums: List[int]) -&g...原创 2019-10-30 21:37:26 · 94 阅读 · 0 评论 -
121. 买卖股票的最佳时机
本题主要是是求序列中两个数字的最大差,其中第一个数必须在第二个数前面O(n)就可以解决问题class Solution: def maxProfit(self, prices: List[int]) -> int: max_profit = 0 min_index = 0 for i in range(len(prices)): if prices[i] - pric...原创 2019-04-04 20:06:14 · 89 阅读 · 0 评论 -
122. 买卖股票的最佳时机 II
本题题意主要是,在一只股票的N天价格中,通过不限次数的交易,求得最大利润。相当于T121的简单进阶版我最开始的思路是:初始买入日为第一天,利润和设置为0如果今天比买入那天股价高,则考虑明天的股价1.1 如果明天的股价更高,则不卖1.2 如果明天的股价不更高,则卖,总利润 += (今天价格-买入那天的价格),然后把买入价格设置为明天如果今天比买入那天低,则把买入日设置为今天如果今天...原创 2019-04-04 21:14:43 · 103 阅读 · 0 评论 -
123. 买卖股票的最佳时机 III
本题相当于T121和T122的进阶版相比于前两次的只有一次交易和不限交易次数,本题仅限小于等于两次交易虽然有前两题做铺垫,但我还是没有思路自己想的是一些暴力方法,复杂度基本都是O(n^2)左右看了一下题解,有点像动态规划,基本上都是以下思路:设定四个变量:fst_buy第一次买入可以获得的最大利润fst_sell第一次卖出可以获得的最大利润sec_buy第二次买入可以获得的最大利润...原创 2019-04-05 15:18:06 · 309 阅读 · 0 评论 -
974. 和可被 K 整除的子数组
题目如上首先的思路是遍历查找长度分别为1、2、……n的子序列,看看是否符合条件由于n的范围是3万,所以n^2级别的方法肯定会超时随后想到的是先把每个位置上的值先模上K,得到一个方便计算且加和后不会太大的数组接下来的思路是看题解得出来的:由于要求的结果是连续子序列的和,我们可以采用一个很常规的思路,就是新建一个数组s,s[i] = sum(A[0]…A[i]),即第i位表示前i个数字的...原创 2019-07-15 20:41:56 · 685 阅读 · 0 评论 -
400. 第N个数字
思路:一位数:9 * 1 * 1两位数:9 * 10 * 2三位数:9 * 100 * 3四位数:9 * 1000 * 4……直到n小于对应位数的数字总和为止然后把多出来是数字除以位数即可class Solution: def findNthDigit(self, n: int) -> int: l = 1 w = 1 num = 9 while n >...原创 2019-07-16 15:22:17 · 89 阅读 · 0 评论 -
986. 区间列表的交集
emmm 大概是少有的连第一次测试都没有bug,并且一次提交就通过的题目了就是代码写得比较幼稚,不够精简w(゚Д゚)wclass Solution: def intervalIntersection(self, A: List[List[int]], B: List[List[int]]) -> List[List[int]]: la = len(A) lb = len(B)...原创 2019-07-19 22:34:33 · 172 阅读 · 0 评论