LeetCode
文章平均质量分 53
力扣题目学习与分析
KoenigseggH
在校学生
展开
-
井字游戏 on LeetCode
原题地址本文只总结基本函数用法, 有题目答案但不进行过多分析.问题大意:N子棋,只要自己的棋子在行,列或者对角线方向上有连续相同的N个,就算获胜. 由于限定了棋盘大小为N,因此对角线方向只存在两种可能:因此只需监测是否存在满足要求的 行或者 列 以及上面两种情况.代码:n = len(board)def check(c): target = c * n # any()只接收一个参数,所以需要将四部分括起来 return any( (any(row原创 2021-08-03 17:37:48 · 135 阅读 · 0 评论 -
LeetCode周赛_233学习笔记
5709 最大升序子数组和思路:从队首开始向后遍历,计算当前遍历过的元素和,若当前元素小于其之前的元素,则元素和清零,从该元素开始重新计算。Python:res = [nums[0]]lens = len(nums)if lens == 1: return sum(res)for i in range(1,lens): if nums[i] > nums[i-1]: res.append(res.pop()+nums[i]) else:原创 2021-03-22 10:48:56 · 154 阅读 · 0 评论 -
快排算法QuickSort研究
针对快速排序算法执行耗时的分析阅读某道数据结构考研书时发现一题:已知当前排序算法为快速排序算法,问ABCD所给出的4个序列,哪一个排序最快,哪一个最慢。个人认为答案分析欠妥,遂做些实验进行分析。首先放上实验的快排代码def partition(a, low, high): tmp = a[low] while low < high: while low < high and a[high] >= tmp: high -=原创 2021-03-18 14:51:26 · 134 阅读 · 0 评论 -
LeetCode227——基本计算器II
力扣227:基本计算器II原题链接题目描述:给定有效字符串s,实现基本计算器来计算并返回其值?其中除法仅保留整数部分。Example Inputs = " 3-5 / 2 "Output1官方题解的思路比较简单,通俗来讲就是在每个表达式前加一个符号“+”,然后根据每个数字的前置符号位计算结果,如果是"+"或者"-",则直接添加,如果是乘除则从栈中pop末尾,实现优先运算。举例说明:s = " 3-5 / 2 ",首先去除空格,可以另起一个新循环进行预处理,也可以直接在主循环中操作原创 2021-03-12 22:09:01 · 174 阅读 · 0 评论 -
Leetcode周赛_203学习笔记
学习来源:leetcode官方题解评论区大佬的题解原创 2020-08-25 18:48:32 · 210 阅读 · 0 评论 -
Leetcode周赛_202学习笔记
学习来源:leetcode官方题解评论区大佬的题解1552 两球之间的磁力题意理解:给定position数组,从中选取m个,使得这m个数据中,任意两个数的差值的最小值最大。比如:position = [1,2,3,6],m=3。那么所有的选取情况为[1,2,3]、[1,2,6]、[2,3,6]、[1,3,6]。每种情况下任意两数差值的最小值为1、1、1、2。那么最终选取为:[1,3,6],答案为:2。算法思想:二分查找(多见题,才能打开思路)。...原创 2020-08-18 22:09:40 · 179 阅读 · 0 评论 -
Leetcode周赛_201学习笔记(滴滴)
学习来源:leetcode官方题解评论区大佬的题解原创 2020-08-11 18:26:02 · 166 阅读 · 0 评论 -
Leetcode夜猫赛_32学习笔记
学习来源:leetcode官方题解评论区大佬的题解5468**朴素方法:**遍历存储数组中缺失的数字,若K在其中则返回,否则利用数组最后一个数值计算K。tmp = []# 遍历存储缺失值for i in range(1,arr[-1]+1): if i not in arr: tmp.append(i)# 查找K是否在tmp中lens = len(tmp)for i in range(1,lens+1): if i == k: return原创 2020-08-09 21:55:59 · 186 阅读 · 0 评论 -
字符串匹配问题学习_Leetcode28_KMP算法、双指针
学习来源Leetcode28LeetBook数组KMP大佬详解问题描述字符串匹配问题:给定主串S = 'abcabd'和模式串A = 'abd',求解S中第一次出现A的位置,若S中不存在A则返回-1。tips:需要注意题目中针对空模式串的处理方式。Leetcode28题要求返回0。朴素解法将模式串与主串的所有字串逐一比较,首先通过模式串长度直接判断是否小于主串,满足条件则进行匹配比对。在匹配过程中,每次从主串选择与模式串等长的字串进行匹配,若无法匹配则继续遍历主串,选取下一个字串。朴素解法的原创 2020-08-05 18:56:38 · 289 阅读 · 0 评论 -
Leetcode周赛_200学习笔记(PayPal)
123123原创 2020-08-02 19:43:44 · 285 阅读 · 0 评论 -
Leetcode周赛_198学习笔记
123123原创 2020-07-30 11:26:32 · 231 阅读 · 0 评论 -
Leetcode_2020_秋季编程大赛
学习来源:评论区大佬的题解9.13学习:LCP 17 速算机器人算法分析:朴素法、数学法。数学法:不管进行A操作还是B操作,最后的X+Y一定等于2*(X+Y)。return 2**(len(s)) #这里是2的len(s)次幂LCP 18 早餐组合分析顺序不涉及算法的优劣性算法分析1:朴素算法容易超时,若不采用二分查找,则需要考虑简化双层遍历(双指针)。首先排序后的数组默认由小到大,因此从staple中取出的元素值只会越来越大。那么相对应的,留给drinks的目标值只会越来越小。因此原创 2020-09-13 17:40:28 · 275 阅读 · 0 评论