当前位置: 首页 > news >正文

LeetCode 每日一题 2023/10/23-2023/10/29

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


目录

      • 10/23 2678. 老人的数目
      • 10/24 1155. 掷骰子等于目标和的方法数
      • 10/25 2698. 求一个整数的惩罚数
      • 10/26 2520. 统计能整除数字的位数
      • 10/27 1465. 切割后面积最大的蛋糕
      • 10/28 2558. 从数量最多的堆取走礼物
      • 10/29


10/23 2678. 老人的数目

取第12-13位数值

def countSeniors(details):""":type details: List[str]:rtype: int"""ans = 0for d in details:age = int(d[11:13])if age>60:ans +=1return ans

10/24 1155. 掷骰子等于目标和的方法数

递归 mem记录已有过的情况

def numRollsToTarget(n, k, target):""":type n: int:type k: int:type target: int:rtype: int"""if n>target or target>n*k:return 0MOD = 10**9+7mem = {(1,x):1 for x in range(1,k+1)}def check(n,target):if target<=0:return 0if (n,target) in mem:return mem[(n,target)]ans = 0if n==0:ans = target==0else:for i in range(1,k+1):ans += check(n-1,target-i)mem[(n,target)] = ansreturn ans%MODreturn check(n,target)

10/25 2698. 求一个整数的惩罚数

遍历每个数 判断是否满足条件

def punishmentNumber(n):""":type n: int:rtype: int"""def check(s,i,x):m = len(s)if i>=m:return x==0y = 0for j in range(i,m):y = y*10+int(s[j])if y>x:breakif check(s,j+1,x-y):return Truereturn Falseans = 0for i in range(1,n+1):if check(str(i*i),0,i):ans+=i*ireturn ans

10/26 2520. 统计能整除数字的位数

按每一位数字判断

def countDigits(num):""":type num: int:rtype: int"""ans = 0n = numwhile n:v = n%10if v>0 and num%v==0:ans +=1n//=10return ans

10/27 1465. 切割后面积最大的蛋糕

将切口位置从小到大排序 计算两个切口间的距离
寻找最大距离 相乘

def maxArea(h, w, horizontalCuts, verticalCuts):""":type h: int:type w: int:type horizontalCuts: List[int]:type verticalCuts: List[int]:rtype: int"""horizontalCuts.sort()verticalCuts.sort()if len(horizontalCuts)>0:maxh = max(horizontalCuts[0],h-horizontalCuts[-1])else:maxh = hif len(verticalCuts)>0:maxv = max(verticalCuts[0],w-verticalCuts[-1])else:maxv = wfor i in range(1,len(horizontalCuts)):maxh = max(maxh,horizontalCuts[i]-horizontalCuts[i-1])for i in range(1,len(verticalCuts)):maxv = max(maxv,verticalCuts[i]-verticalCuts[i-1])return (maxv*maxh)%(10**9+7)

10/28 2558. 从数量最多的堆取走礼物

大顶堆 每次取最大的礼物 进行处理

def pickGifts(gifts, k):""":type gifts: List[int]:type k: int:rtype: int"""import heapq,mathans = sum(gifts)l = [-x for x in gifts]heapq.heapify(l)for i in range(k):print(l)v = -heapq.heappop(l)num = int(math.sqrt(v))ans -= (v-num)heapq.heappush(l, -num)return ans

10/29


http://www.lryc.cn/news/209115.html

相关文章:

  • Android:Installed Build Tools revision 33.0.2 is corrupted.
  • 语法复习之C语言与指针
  • vue笔记(二)
  • 【IT行业就业前景广阔:探讨热门方向与就业机会】
  • linux上java -jar方式运行项目及输出文件nohup.out的清理, linux上定时器的用法
  • macOS 12 Monterey v12.7.1正式版:开启全新的操作系统体验
  • vue制作防止用户未登录或未填写信息就跳转页面的路由拦截器
  • postgis ST_CoverageInvalidEdges用法
  • sqlalchemy的部分函数合集
  • mac苹果电脑使用日常
  • 多线程面试相关知识点
  • 关于生成式人工智能模型应用的调研
  • 【问题】在安装torchvision的时候,会自动安装torch?
  • MySQL数据库备份实战
  • 每日一题 2558. 从数量最多的堆取走礼物(简单,heapq)
  • JavaScript中的Promise
  • 【OpenCV实现图像的几何变换】
  • 2023MathorCup(妈妈杯) 数学建模挑战赛 解题思路
  • leetCode 76. 最小覆盖子串 + 滑动窗口 + 哈希Hash
  • 52.MongoDB复制(副本)集实战及其原理分析
  • 【Unity实战】手戳一个自定义角色换装系统——2d3d通用
  • ruoyi-nbcio版本从RuoYi-Flowable-Plus迁移过程记录
  • 竞赛 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序
  • Linux音频-基本概念
  • Spring Boot 依赖注入实现原理
  • cola架构:cola源码中访问者模式应用浅析
  • Openssl数据安全传输平台015:OCCI的使用方法+在项目中的设计与实现
  • ardupilot开发 --- CAN BUS、DroneCAN 、UAVCAN 篇
  • 京东平台数据分析:2023年9月京东空气净化器行业品牌销售排行榜
  • vue使日历组件点击时间渲染到时间输入框