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

LeetCode 每日一题 2024/10/21-2024/10/27

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


目录

      • 10/21 910. 最小差值 II
      • 10/22 3184. 构成整天的下标对数目 I
      • 10/23 3185. 构成整天的下标对数目 II
      • 10/24 3175. 找到连续赢 K 场比赛的第一位玩家
      • 10/25 3180. 执行操作可获得的最大总奖励 I
      • 10/26
      • 10/27


10/21 910. 最小差值 II

从小到大排列 小的尽量+k 大的-k
最小值mi 最大值ma
从头遍历位置i 假设nums[i]是最大一个+k的值
那么当前情况最大值为 max(nums[i]+k,ma-k)
最小值为min(nums[i+1]-k,mi+k)
更新当前情况的差值

def smallestRangeII(nums, k):""":type nums: List[int]:type k: int:rtype: int"""nums.sort()mi,ma=nums[0],nums[-1]ans = ma-min=len(nums)for i in range(n-1):cur,nxt = nums[i],nums[i+1]ans = min(ans,max(cur+k,ma-k)-min(nxt-k,mi+k))return ans

10/22 3184. 构成整天的下标对数目 I

计算每个小时除以24的余数
余数相加为24的可以匹配
余数为0和12 在自己组内匹配

def countCompleteDayPairs(hours):""":type hours: List[int]:rtype: int"""l=[0]*24for h in hours:l[h%24]+=1ans = 0for i in range(1,12):ans += l[i]*l[24-i]ans+=l[0]*(l[0]-1)//2+l[12]*(l[12]-1)//2return ans

10/23 3185. 构成整天的下标对数目 II

计算每个小时除以24的余数
余数相加为24的可以匹配
余数为0和12 在自己组内匹配

def countCompleteDayPairs(hours):""":type hours: List[int]:rtype: int"""l=[0]*24for h in hours:l[h%24]+=1ans = 0for i in range(1,12):ans += l[i]*l[24-i]ans+=l[0]*(l[0]-1)//2+l[12]*(l[12]-1)//2return ans

10/24 3175. 找到连续赢 K 场比赛的第一位玩家

从头遍历 i 直至遇到大于他的j
如果此时已经赢了k场那么返回i
否则从j开始继续往后赢
如果到最后还没有达到k 此时的i必定是最大值 返回

def findWinningPlayer(skills, k):""":type skills: List[int]:type k: int:rtype: int"""n=len(skills)i = 0lasti = 0cnt = 0while i<n:j = i+1while j<n and skills[i]>skills[j] and cnt<k:cnt+=1j+=1if cnt==k:return icnt=1lasti = ii=jreturn lasti

10/25 3180. 执行操作可获得的最大总奖励 I

从小到大排序
dp[k]表示奖励k是否可以获得
最大值为mx 能够得到的奖励不超过2*m-1
对于当前值x 最多可以到达k=x~2x-1 如果k-x存在 那么说明k可以得到

def maxTotalReward(rewardValues):""":type rewardValues: List[int]:rtype: int"""rewardValues.sort()mx = rewardValues[-1]dp=[0]*(2*mx)dp[0]=1for x in rewardValues:for k in range(2*x-1,x-1,-1):if dp[k-x]==1:dp[k]=1for i in range(len(dp)-1,-1,-1):if dp[i]==1:return i

10/26


10/27



http://www.mrgr.cn/news/58895.html

相关文章:

  • 新手直播方案
  • 【SQL实验】表的更新和简单查询
  • 【项目】论坛系统测试
  • AIGC底层技术揭秘
  • 7.three.js通用几何体加载与gltf模型、obj模型加载
  • 【p2p、分布式,区块链笔记 Blockchain】truffle001 以太坊开发框架truffle初步实践
  • day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别
  • 统一异常处理和拦截器
  • 了解Oracle表结构查询:获取列信息与注释
  • Mac打开环境变量配置文件,source ~/.zshrc无法打开问题解决
  • 分享一款录屏、直播软件
  • 计算机组成原理之指令系统的基本概念、指令格式
  • 数学之三角函数
  • 太香了,用AI做育儿账号带货,卖出2.1万件赚佣金10W+
  • Spring Boot框架下的厨艺社交网络构建
  • IP协议详解:报头格式、主机定位、转发流程、网段划分与路由机制
  • 算法刷题-小猫爬山
  • 《打造 C++团队知识库:提升团队实力,开启高效编程之旅》
  • 函数递归
  • 嵌入式软开——八股文——学习引导和资料网址
  • 【微服务】Java 对接飞书多维表格使用详解
  • C++的IO流(文件部分在这里)
  • 软考高级架构-7.2-基于架构的软件开发方法-超详细讲解+精简总结
  • Redis混合持久化原理
  • android——渐变色
  • Spring Boot技术在厨艺社交平台中的应用