
leetcode
yyhnet.cn
这个作者很懒,什么都没留下…
展开
-
【python】leetcode中常用函数(持续更新)
可以统计字符串中每个字符出现的次数,也可以统计数组中每个数字出现的次数遍历成员输出出现最多次数的一个成员如果不指定参数则列出所有更新成员会生成下标索引+内容1.3 defaultdict() 缺省字典是python提供了一种默认值字典的数据结构。它允许我们在定义字典时给所有不存在的key设置默认值,这样当取不存在的key时,就不会报错。(1)defaultdict(int):初始化为 0(2)defaultdict(float):初始化为 0.0(3)defaultdict(str):初始化原创 2022-02-06 15:29:22 · 2409 阅读 · 0 评论 -
【leetcode 每日打卡】1748. 唯一元素的和
class Solution: def sumOfUnique(self, nums: List[int]) -> int: nums = [num for num, cnt in Counter(nums).items() if cnt == 1] return sum(nums)1.通过Count统计所有数字出现的次数,如果出现次数为1次,就提取出来放在nums中,将提取出来的数组nums进行sum求和...原创 2022-02-06 14:25:26 · 5226 阅读 · 1 评论 -
【leetcode 每日打卡】1219.黄金矿工
class Solution: def getMaximumGold(self, grid: List[List[int]]) -> int: m, n = len(grid), len(grid[0]) ans = 0 def dfs(x: int, y: int, gold: int) -> None: gold += grid[x][y]#黄金总量 nonlocal ans#最多收集.原创 2022-02-05 20:40:53 · 561 阅读 · 0 评论 -
【leetcode 每日打卡】884. 两句话中的不常见单词
class Solution: def uncommonFromSentences(self, s1: str, s2: str) -> List[str]: freq = Counter(s1.split()) + Counter(s2.split()) ans = list() for word, occ in freq.items(): if occ == 1: ans.append.原创 2022-01-30 20:20:54 · 5605 阅读 · 0 评论 -
【leetcode 每日打卡】1765. 地图中的最高点
class Solution: def highestPeak(self, isWater: List[List[int]]) -> List[List[int]]: m, n = len(isWater), len(isWater[0]) ans = [[water - 1 for water in row] for row in isWater] q = deque((i, j) for i, row in enumerate(isWate.原创 2022-01-29 12:41:33 · 730 阅读 · 0 评论 -
【leetcode 每日打卡】1996. 游戏中弱角色的数量
class Solution: def numberOfWeakCharacters(self, properties: List[List[int]]) -> int: properties.sort(key=lambda x: (-x[0], x[1])) ans = 0 maxDef = 0 for _, def_ in properties: if maxDef > def_: .原创 2022-01-28 21:30:50 · 2355 阅读 · 0 评论 -
【leetcode 每日打卡】2047. 句子中的有效单词数
class Solution: def countValidWords(self, sentence: str) -> int: def valid(s: str) -> bool: hasHyphens = False for i, ch in enumerate(s): if ch.isdigit() or ch in "!.," and i < len(s) - 1: .原创 2022-01-27 19:30:04 · 6277 阅读 · 0 评论 -
【leetcode 每日打卡】2013. 检测正方形
class DetectSquares: def __init__(self): self.map = defaultdict(Counter) def add(self, point: List[int]) -> None: x, y = point self.map[y][x] += 1 def count(self, point: List[int]) -> int: res = 0 .原创 2022-01-26 19:52:22 · 989 阅读 · 0 评论 -
【leetcode 每日打卡】1688. 比赛中的配对次数
class Solution: def numberOfMatches(self, n: int) -> int: return n - 1在每一场比赛中,每次比赛会淘汰一支队伍,所以说总共要进行n-1场比赛,最后胜出一个原创 2022-01-25 18:23:15 · 1065 阅读 · 0 评论 -
【leetcode 每日打卡】539. 最小时间差
def getMinutes(t): return ((ord(t[0]) - ord('0')) * 10 + ord(t[1]) - ord('0')) * 60 + (ord(t[3]) - ord('0')) * 10 + ord(t[4]) - ord('0')class Solution: def findMinDifference(self, timePoints): timePoints.sort() ans = float('inf').原创 2022-01-18 17:36:19 · 478 阅读 · 0 评论 -
【leetcode 每日打卡】219. 存在重复元素 II
class Solution: def containsNearbyDuplicate(self, nums, k): pos = {} for i, num in enumerate(nums): if num in pos and i - pos[num] <= k: return True pos[num] = i return False1.首先创建一个.原创 2022-01-19 16:56:43 · 222 阅读 · 0 评论 -
【leetcode 每日打卡】2029. 石子游戏 IX
class Solution: def stoneGameIX(self, stones: List[int]) -> bool: cnt0 = cnt1 = cnt2 = 0 for val in stones: if (typ := val % 3) == 0: cnt0 += 1 elif typ == 1: cnt1 += 1 .原创 2022-01-20 20:11:53 · 2699 阅读 · 0 评论 -
【leetcode 每日打卡】1332. 删除回文子序列
class Solution: def removePalindromeSub(self, s: str) -> int: return 1 if s == s[::-1] else 21.首先明白回文是什么?向前向后读是一致的,python中将字符串倒序abcd[::-1]->bcda,通过[::-1]就可以将字符串倒过来,然后判断是否与原来字符串一致,一致的话就代表字符串是回文。2.如题所示,每次删除一个回文,但是回文不一定是连续的,而且字符串只由ab组成,我.原创 2022-01-22 13:18:40 · 863 阅读 · 0 评论 -
【leetcode 每日打卡】2034. 股票价格波动
from sortedcontainers import SortedListclass StockPrice: def __init__(self): self.price = SortedList() self.timePriceMap = {} self.maxTimestamp = 0 def update(self, timestamp: int, price: int) -> None: if time.原创 2022-01-23 18:54:47 · 594 阅读 · 1 评论 -
【leetcode 每日打卡】1716. 计算力扣银行的钱
class Solution(object): def totalMoney(self, n): week, day = 1, 1 res = 0 for i in range(n): res += week + day - 1 day += 1 if day == 8: day = 1 week += 1 .原创 2022-01-15 09:07:48 · 431 阅读 · 0 评论 -
【leetcode 每日打卡】747. 至少是其他数字两倍的最大数
int dominantIndex(int* nums, int numsSize) { int m1 = -1, m2 = -1; int index = -1; for (int i = 0; i < numsSize; i++) { if (nums[i] > m1) { m2 = m1; m1 = nums[i]; index = i; } else if (.原创 2022-01-13 20:14:01 · 152 阅读 · 0 评论 -
【leetcode 每日打卡】1629. 按键持续时间最长的键
char slowestKey(int* releaseTimes, int releaseTimesSize, char * keysPressed){ char ans = keysPressed[0]; int maxTime = releaseTimes[0]; for (int i = 1; i < releaseTimesSize; i++) { char key = keysPressed[i]; int time = relea.原创 2022-01-09 10:04:32 · 642 阅读 · 0 评论 -
【leetcode 每日打卡】1614. 括号的最大嵌套深度
#define MAX(a, b) ((a) > (b) ? (a) : (b))int maxDepth(char * s){ int len = 0,ans =0; for(int i=0;i<strlen(s);i++){ if(s[i]=='('){ ++len; ans=MAX(ans,len); } if(s[i]==')')--len; } retur.原创 2022-01-07 09:15:53 · 794 阅读 · 0 评论 -
【uthash库】C语言中哈希表的使用
文章目录前言一、哈希表是什么?二、使用步骤1.引入库并初始化2.增删改查hash数据2.1 增加和修改 hash_insert(key,val)2.2 查找 hash_find(key)2.3 删除 hash_delete(key)总结前言如何使用C语言实现哈希表提示:以下是本篇文章正文内容,下面案例可供参考一、哈希表是什么? Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与原创 2022-01-06 21:43:35 · 6130 阅读 · 1 评论 -
【leetcode 每日打卡】390. 消除游戏
int lastRemaining(int n){ int a1=1,k=0,step=1,cnt=n;//首项,循环次数,步长,数组长度 while(cnt>1){ if(k%2==0||cnt%2==1){ a1+=step; k++; cnt = cnt>>1; step = step<<1; } return a1;}满足以下两个条件首项会被抹.原创 2022-01-02 11:52:31 · 3030 阅读 · 0 评论 -
【leetcode 每日打卡】2022. 将一维数组转变成二维数组
int** construct2DArray(int* original, int originalSize, int m, int n, int* returnSize, int** returnColumnSizes){ if (originalSize != m * n) {//判断是否能构成二维数组 *returnSize = 0;// 返回大小为0 return NULL;//返回值为空 } int ** ans = (int **.原创 2022-01-01 22:30:22 · 377 阅读 · 0 评论