LeetCode周赛
ModestYjx
At ordinary times, nothing is worth mentioning in front of buddhahood and earnestness!
任何事在佛系和认真面前都不值一提!
展开
-
1689. 十-二进制数的最少数目
1689. 十-二进制数的最少数目传送门传送门题意结题思路# 思路1:# 第一眼以为是贪心,后面看答案不是贪心哦:# 找到字符串中最大的数,然后返回数值即可,下面证明合理性。# 假设输入的是32:# 32=# 11+# 11+# 10# 即是最大的数n无论如何都要通过n次1的叠加才行;因为所有数字都只能为1-9,而每一位都是1或0相加,最多相加n次(因为和等于n),且n<=9;所以找到字符串中最大的数,然后返回数值即是。class Solution(object):原创 2020-12-22 19:21:32 · 261 阅读 · 3 评论 -
1603. 设计停车系统 第 36 场双周赛
1603. 设计停车系统 第 36 场双周赛传送门传送门题意结题思路# 思路1:# python的语法,成员变量之类的。# __init__会给python类初始化,第一个参数为self,self则相当于c++的静态成员函数。class ParkingSystem(object): def __init__(self, big, medium, small): """ :type big: int :type medium: int原创 2020-10-06 21:36:20 · 129 阅读 · 0 评论 -
5531. 特殊数组的特征值
5531. 特殊数组的特征值传送门传送门题意### 结题思路```python# 思路1:# 遍历数组,模拟判断。class Solution(object): def specialArray(self, nums): """ :type nums: List[int] :rtype: int """ len1 = len(nums) for i in range(1, len1+1)原创 2020-10-04 19:57:25 · 165 阅读 · 0 评论 -
5519. 重新排列单词间的空格
5519. 重新排列单词间的空格传送门传送门题意### 结题思路```python# 思路1:# 遍历字符串,查询其有n个空格,k个单词,这些空格的数量要插在k-1个位置中。剩余的余数放在最末尾,返回重新排列空格后的字符串。# 总结:# count():返回字符串中某字符数量# divmod():返回商和余数# join():在一列list的每个元素后面连接前面的变量class Solution(object): def reorderSpaces(self, text):原创 2020-09-20 23:05:41 · 174 阅读 · 0 评论 -
1582. 二进制矩阵中的特殊位置 第 206 场周赛
1582. 二进制矩阵中的特殊位置 第 206 场周赛传送门传送门结题思路# 思路1:首先计算每一行,每一列有几个1。再遍历矩阵的每一个数,若此数为1,则判断之前记录的第i行第j列是否都为1,若都是,则num += 1。class Solution(object): def numSpecial(self, mat): """ :type mat: List[List[int]] :rtype: int """原创 2020-09-18 16:39:35 · 136 阅读 · 0 评论 -
1557. 可以到达所有点的最少点数目 LeetCode第 33 场双周赛
1557. 可以到达所有点的最少点数目传送门传送门结题思路# 思路1:# 找入度为0的结点即可。因为如果该结点有入度,则可以从另外一个结点到达此节点,而且还能增加到达一个结点,所以此入度的结点不在结果集中。# 总结:# zip()函数打包为元组的列表,set()函数创建不重复元素集。class Solution(object): def findSmallestSetOfVertices(self, n, edges): """ :type n: in原创 2020-08-27 11:34:53 · 190 阅读 · 1 评论 -
1556. 千位分隔数 LeetCode第 33 场双周赛
1556. 千位分隔数 LeetCode第 33 场双周赛传送门传送门结题思路# 思路1:# 利用一个for循环,从len-3开始,每隔3位插入一个点。# 总结:# insert()函数是插入到i的前面。字符串不能修改,list才能修改。列表转字符串得使用''.join()函数。class Solution(object): def thousandSeparator(self, n): """ :type n: int :rtype原创 2020-08-27 10:29:59 · 129 阅读 · 0 评论 -
5495. 圆形赛道上经过次数最多的扇区 LeetCode第 204 场周赛
5495. 圆形赛道上经过次数最多的扇区 LeetCode第 204 场周赛传送门传送门结题思路# 思路1:# 无论怎么跑,从起点开始跑,到终点的路程是经过次数最多的。所以中间的情况可以忽略。# 分两种情况:# 若终点大于等于起点,则起点到终点的这一段经过次数最多;# 若终点小于起点,起点到n,然后n到终点的这一段经过的次数最多。class Solution(object): def mostVisited(self, n, rounds): """原创 2020-08-23 16:40:03 · 210 阅读 · 0 评论 -
1539. 第 k 个缺失的正整数 第 32 场双周赛
1539. 第 k 个缺失的正整数 第 32 场双周赛传送门传送门结题思路思路1:遍历数组,若i不在arr中,则++count,当count等于k时,返回。python中没有自加符,这样会改变对象本身,可以 a += 1,这是重建了一个变量并赋值。class Solution(object): def findKthPositive(self, arr, k): """ :type arr: List[int] :type k: int原创 2020-08-21 15:48:05 · 104 阅读 · 0 评论 -
1552. 两球之间的磁力 LeetCode第202场周赛
1552. 两球之间的磁力 LeetCode第202场周赛传送门传送门结题思路思路1:由题意,可知,最小磁力为1,最大磁力为position的最大值减最小值//m-1,所以所求的最大化的最小磁力肯定在[最小磁力,最大磁力]之间。使用二分搜索,若最小磁力满足,能换一个更大一点的距离,此磁力满足的条件是,从第一个元素开始按此磁力摆放或更大的磁力摆放到超越此数组后,m个小球均摆放完。class Solution(object): def maxDistance(self, position, m原创 2020-08-20 23:46:10 · 197 阅读 · 0 评论 -
1551. 使数组中所有元素相等的最小操作数 LeetCode第202场周赛
1551. 使数组中所有元素相等的最小操作数传送门传送门结题思路// 思路1:判断n的奇偶性。若为奇数,则从n,持续-2加到1;若为偶数,则从n,持续-2加到2。// [1] 0// [1 3] 1// [1 3 5] 2+0// [1 3 5 7] 3+1// [1 3 5 7 9] 4+2// [1 3 5 7 9 11] 5+3+1// [1 3 5 7 9 11 13] 6+4+2// 总结:列几个特例出来找规律class Solution { public int原创 2020-08-20 11:09:37 · 177 阅读 · 0 评论 -
1550. 存在连续三个奇数的数组 LeetCode第202场周赛
1550. 存在连续三个奇数的数组 LeetCode第202场周赛传送门传送门结题思路// 思路1:外层for循环遍历0-n-3个元素,内层for循环遍历是否有连续三个为奇数。// 总结:正常双层循环遍历即可。class Solution { public boolean threeConsecutiveOdds(int[] arr) { for(int i = 0; i < arr.length-2; i++) { int原创 2020-08-20 10:24:57 · 210 阅读 · 0 评论 -
1546. 和为目标值的最大数目不重叠非空子数组数目 LeetCode第201场周赛
1546. 和为目标值的最大数目不重叠非空子数组数目传送门传送门结题思路思路1:用set存储前缀和,若加上nums[i]的和减去target的值存在set中,则数目加1,且clear set。HashSet存储前缀和class Solution { public int maxNonOverlapping(int[] nums, int target) { HashSet<Integer> s = new HashSet<Integer>();原创 2020-08-15 22:01:33 · 187 阅读 · 0 评论 -
1545. 找出第 N 个二进制字符串中的第 K 位 LeetCode周赛
1545. 找出第 N 个二进制字符串中的第 K 位 LeetCode周赛传送门传送门结题思路// 思路1:首先,Sn的长度为2的(n-1)次-1,其前半段的字符串为Sn-1,中间一个为“1”,后半段的为Sn-1取反后反转。最后找到的结果要么是中间的"1",要么是从“0”变来的。// 递归条件判断class Solution { public char char_not(char a) { if(a == '1') { re原创 2020-08-15 17:05:40 · 207 阅读 · 0 评论 -
5483. 整理字符串 LeetCode周赛
5483. 整理字符串 LeetCode周赛传送门传送门结题思路// 思路1:将字符串s依次入栈,若当前值与栈顶元素满足大小写关系时,pop栈顶元素。当字符串为空或为一个字符时,字节返回原串。class Solution {public: string makeGood(string s) { if(s.length() == 0 || s.length() == 1) return s; stack<char> stack;原创 2020-08-09 13:08:16 · 127 阅读 · 0 评论