LeetCode 每日一题 2022/11/28-2022/12/4
admin
2024-03-14 10:05:54
0

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步


目录

      • 11/28 882. 细分图中的可到达节点
      • 11/29 1758. 生成交替二进制字符串的最少操作数
      • 11/30 895. 最大频率栈
      • 12/1 1779. 找到最近的有相同 X 或 Y 坐标的点
      • 12/2 1769. 移动所有球到每个盒子所需的最小操作数
      • 12/3 1796. 字符串中第二大的数字
      • 12/4


11/28 882. 细分图中的可到达节点

原始节点间的细分节点数可看做节点间的距离
使用dijkstra 可以算出起点到个点的最短路径
哈希表used[(u,v)]记录节点u到v可达的细分节点 (v,u)记录v到u可达的细分节点
最后统计时相加 并不大于u,v间的细分节点总数

def reachableNodes(edges, maxMoves, n):""":type edges: List[List[int]]:type maxMoves: int:type n: int:rtype: int"""import heapqfrom collections import defaultdictl = defaultdict(list)for u,v,n in edges:l[u].append([v,n])l[v].append([u,n])used = {}visited = set()ans = 0pq = [(0,0)]heapq.heapify(pq)while pq and pq[0][0]<=maxMoves:step,u = heapq.heappop(pq)if u in visited:continuevisited.add(u)ans +=1for v,nodes in l[u]:if nodes+step+1<=maxMoves and v not in visited:heapq.heappush(pq,[nodes+step+1,v])used[(u,v)] = min(nodes,maxMoves-step)for u,v,n in edges:ans += min(n,used.get((u,v),0)+used.get((v,u),0))return ans

11/29 1758. 生成交替二进制字符串的最少操作数

遍历一遍 分别记录两种情况的操作次数

def minOperations(s):""":type s: str:rtype: int"""ans = [0,0]for i,c in enumerate(s):if i%2==0:if c=="1":ans[0]+=1else:ans[1]+=1else:if c=="0":ans[0]+=1else:ans[1]+=1return min(ans)

11/30 895. 最大频率栈

m[val]记录val的频率
fre[num] 记录出现num次的元素

from collections import defaultdict
class FreqStack(object):def __init__(self):self.m = defaultdict(int)self.fre = defaultdict(list)self.maxfre = 0def push(self, val):""":type val: int:rtype: None"""self.m[val]+=1self.fre[self.m[val]].append(val)self.maxfre = max(self.maxfre,self.m[val])def pop(self):""":rtype: int"""v = self.fre[self.maxfre].pop()self.m[v]-=1if len(self.fre[self.maxfre])==0:self.maxfre-=1return v

12/1 1779. 找到最近的有相同 X 或 Y 坐标的点

遍历依次寻找

def nearestValidPoint(x, y, points):""":type x: int:type y: int:type points: List[List[int]]:rtype: int"""def dis(i,j):return abs(x-i)+abs(y-j)d = 20000ans = -1for ind,p in enumerate(points):i,j=p[0],p[1]if i==x or j==y:tmp = dis(i,j)if tmp

12/2 1769. 移动所有球到每个盒子所需的最小操作数

若已知转移到i位置需要ans[i]=x次 i及左侧[0~i]间有a个球 右侧i+1到最后有b个球
那么对于i+1的位置而言 所有[0~i]需要多走1步 所有[i+1~n]可以少走一步
所以ans[i+1]=ans[i]+a-b

def minOperations(boxes):""":type boxes: str:rtype: List[int]"""l,r,cur = int(boxes[0]),0,0n = len(boxes)for i in range(1,n):if boxes[i]=='1':r+=1cur +=ians = [cur]for i in range(1,n):cur += l-rif boxes[i]=='1':l+=1r-=1ans.append(cur)return ans

12/3 1796. 字符串中第二大的数字

记录最大和第二大的数字


def secondHighest(s):""":type s: str:rtype: int"""a,b=-1,-1for c in s:if c.isdigit():v = int(c)if v>a:a,b=v,aelif vb:b =vreturn b

12/4


相关内容

热门资讯

珠海华润银行正式更名为广东华润... 2月26日,大型央企华润集团旗下珠海华润银行完成工商登记变更,正式更名为广东华润银行,截至发稿,该行...
2026马年春节品牌营销图鉴-... 今天分享的是:2026马年春节品牌营销图鉴-艺恩 报告共计:27页 2026马年春节品牌营销围绕Z世...
锂电行业现V型反转!杉杉、天齐... 来源:证券市场周刊 2025年锂电产业链迎来V型反转,中游材料企业靠降本增效复苏,而上游锂矿双雄则展...
奥雅股份:公司近日与芜湖市江北... 证券日报网讯 2月27日,奥雅股份在互动平台回答投资者提问时表示,基于奥雅城市文旅大模型的核心能力,...
成交飙回2.56万亿!周期强势... 本周A股在节后情绪修复基础上放量上行,成交规模跃升,市场风格出现显著切换,周期资源品成为新主线,中小...
金融监管总局系统查处吊销注销6... 【金融监管总局系统查处吊销注销60家保险专业中介法人牌照】财联社2月27日电,为深入贯彻中央金融工作...
白癜风医生祃开芬:白癜风患者如... 脚踝是白癜风的高发部位,此处长期承受身体重量、易受鞋子挤压摩擦,且夏季易出汗、冬季易干燥,皮肤屏障脆...
萨洛蒙大增始祖鸟放缓,亚玛芬靠... “第四季度为亚玛芬体育具有突破性意义的一年画上了圆满句号。2025全年,所有业务板块、地区以及渠道均...
亚马逊CEO发出警告:未来许多... 【CNMO科技消息】近日,亚马逊CEO安迪·贾西(Andy Jassy)在采访中表示:过去二三十年靠...
出大事了!中东开战,A股这4个... 文 | 付一夫 周末“黑天鹅”来袭! 就在刚刚,美国和以色列对伊朗发动突袭,中东地缘局势骤然升级。作...
原创 访... 白宫率先宣布,特朗普将于3月31日到4月2日访问中国,行程比原计划提前了40天。但是不到一天时间,美...
河南省股权投资基金首批子基金管... 投资界2月28日消息,近日,河南省股权投资基金首批子基金管理机构公开遴选名单,基金名称为:河南资产产...
人民币汇率三日急涨600点!央... 2月27日,中国人民银行果断亮出政策工具箱,宣布自2026年3月2日起将远期售汇业务外汇风险准备金率...
GDP差距缩至3495亿,江苏... 记者 刘亚宁 近日,广东在“新春第一会”上提出了“永争第一、不为人后”的目标,明确未来10年,经济总...
遂宁:青春小店已成为彰显青春气... 人民网记者 王波 2月27日上午,遂宁市第八届人民代表大会第七次会议开幕。市长王忠诚代表遂宁市人民政...
【银行业展望系列】中间业务:优... 在净息差持续收窄的背景下,中间业务正在重塑银行业的盈利模式,从2025年上市银行披露的数据显示,上市...
近6000万播放!富国基金20... 出品|中访网 审核|李晓燕 岁序更替,华章日新。近日,富国基金发布2025年度投资者教育年鉴,全面回...
突发!以色列对伊朗发动先发制人... 每经编辑|杜宇 据央视新闻2月28日消息,以色列方面称,以色列已对伊朗发起打击,以色列多地响起防空...
原创 5... “谁能做到任正非这样,谁就永远不会缺忠心耿耿的下属。” 老周是济南的一个老板,白手起家创业几十年,现...
22.4万亿私募基金监管升级!... 农历马年伊始,私募基金行业迎来监管升级。 2月27日晚间,证监会发布《私募投资基金信息披露监督管理办...