python
代码与思路齐飞
这个作者很懒,什么都没留下…
展开
-
575、分糖果
解题思路从题意可知,一人最多分一半的糖果,这样即使有大于一半的种类,也只能得到一半的种类。如果达不到一半的种类,则每个种类要获取一个,这样才能满足最大种类。用set得到总的种类,然后与能得到的最大种类(一半)比较,如果大于,则最多获取一半的种类,否则获取总的种类。代码class Solution: def distributeCandies(self, candyType: List[int]) -> int: maxtype = len(candyType)原创 2021-11-01 09:32:44 · 4542 阅读 · 1 评论 -
260、只出现一次的数字II
1、位与异或根据相同数异或为零以及零与任何数异或仍是其本身的性质,可以得到两个只出现一次数字的异或值,且两个数的二进制位中必然有一位是不相同的,因为其不能为0。将列表中的值遍历与其中低位第一个为1的数进行与运算,可以将其分为两组。将两组分别进行异或,最后得到两个只出现一次的数字。低位第一个为1的位数可以通过其与其反值进行与运算得到。代码class Solution: def singleNumber(self, nums: List[int]) -> List[int]原创 2021-10-31 14:10:44 · 3625 阅读 · 0 评论 -
496、下一个更大元素
解题思路既然要找元素后面更大的元素,如果从nums1遍历找,我们不知道nums1中元素在nums2中的位置,所以直接从nums2遍历查找,另外需要一个临时列表存放未找到更大值的元素以及一个字典存放元素及其对应最大值。如果当前列表中值小于遍历值,将其与遍历值存入字典,然后移除,不断循环。否则将遍历值存入列表,进行下一次比较。最后遍历nums1,通过字典找到其对应的最大值。代码class Solution: def nextGreaterElement(self, nums1: Lis原创 2021-10-26 12:02:57 · 2828 阅读 · 0 评论 -
240、搜索二维矩阵II
1.暴力破解这种就是一个个比较矩阵中的值与目标值,相等返回True;否则返回False。代码class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: for row in matrix: for v in row: if v == target: retur原创 2021-10-26 10:52:25 · 162 阅读 · 0 评论 -
492、构造矩形
1、遍历判断遍历1到area,判断整除后的数是否大于当前数,如果是,判断两者之差是否为最小;如果不大于当前数,返回结果。代码class Solution: def constructRectangle(self, area: int) -> List[int]: diff = area minlength, minwide = 0,0 for wide in range(1, area+1, 1): leng原创 2021-10-23 09:15:37 · 124 阅读 · 0 评论 -
229、求众数II
1、使用字典遍历列表,将每个不同的元素存入字典,如果已经在字典中,则加1;最后判断哪个元素的次数大于n/3。代码class Solution: def majorityElement(self, nums: List[int]) -> List[int]: total_dict = {} length = len(nums) for i in range(length): if nums[i] in to..原创 2021-10-23 08:18:11 · 110 阅读 · 0 评论 -
关于Dict2Anki插件不能导入欧路词典的问题
1.按照下面网址的介绍更改欧路词典处理文件看这里2.新建一个模板新建一个模板,名称为“Dict2Anki-v6.1.3”,后面的版本换成自己的版本。如图所示:3.添加字段包含字段包含如下:['term', 'definition', 'sentenceFront', 'sentenceBack', 'phraseFront', 'phraseBack', 'image', 'BrEPhonetic', 'AmEPhonetic', 'BrEPron', 'AmEPron']其原创 2020-09-08 17:47:29 · 2701 阅读 · 0 评论