LeetCode 每日一题 2024/10/7-2024/10/13

embedded/2024/10/18 18:55:47/

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


目录

      • 10/7 871. 最低加油次数
      • 10/8 1436. 旅行终点站
      • 10/9 3171. 找到按位或最接近 K 的子数组
      • 10/10 3162. 优质数对的总数 I
      • 10/11 3164. 优质数对的总数 II
      • 10/12 3158. 求出出现两次数字的 XOR 值
      • 10/13 1884. 鸡蛋掉落-两枚鸡蛋


10/7 871. 最低加油次数

依次经过加油站 将能够加的油放入大顶堆中
如果无法到达加油站 从能够加的油中选出最多的加入

def minRefuelStops(target, startFuel, stations):""":type target: int:type startFuel: int:type stations: List[List[int]]:rtype: int"""import heapqfuel = startFuelpre = 0ans = 0stations.append([target,0])l = []for loc,f in stations:v = loc-prefuel -= vwhile fuel<0 and l:tmp = -heapq.heappop(l)ans +=1fuel += tmpif fuel < 0:return -1heapq.heappush(l,-f)pre = locreturn ans

10/8 1436. 旅行终点站

target存储所有出现的终点站
source存储所有出现的起点
从target中找到一个未出现在source中的点即为最终终点站

def destCity(paths):""":type paths: List[List[str]]:rtype: str"""target = set()source = set()for s,t in paths:source.add(s)target.add(t)for loc in target:if loc not in source:return loc

10/9 3171. 找到按位或最接近 K 的子数组

遍历数组尾nums[i]
从后往前遍历j [j~i]
如果x为nums[j]子集 后续已经在i=j时处理过不需要继续进行

def minimumDifference(nums, k):""":type nums: List[int]:type k: int:rtype: int"""ans=float("inf")for i,x in enumerate(nums):ans = min(ans,abs(x-k))j = i-1while j>=0 and nums[j]|x!=nums[j]:nums[j] |= xans = min(ans,abs(nums[j]-k))j-=1return ans

10/10 3162. 优质数对的总数 I

遍历每一对数是否优质

def numberOfPairs(nums1, nums2, k):""":type nums1: List[int]:type nums2: List[int]:type k: int:rtype: int"""ans = 0for n1 in nums1:for n2 in nums2:if n1%(n2*k)==0:ans+=1return ans

10/11 3164. 优质数对的总数 II

nums1优质的必须能被k整除
除以k后 统计nums1中每个数的所有因子个数 cnt[c]
只要nums2中数值num的优质数对就是以num为因子统计到的个数cnt[num]

def numberOfPairs(nums1, nums2, k):""":type nums1: List[int]:type nums2: List[int]:type k: int:rtype: int"""import mathcnt={}for num in nums1:if num%k>0:continuenum = num//kfor d in range(1,int(math.sqrt(num))+1):if num%d>0:continuecnt[d] = cnt.get(d,0)+1if d**2<num:cnt[num//d]=cnt.get(num//d,0)+1            ans = 0for num in nums2:ans += cnt.get(num,0)return ans

10/12 3158. 求出出现两次数字的 XOR 值

从头遍历 记录出现过的数字 如果出现第二次则将其异或

def duplicateNumbersXOR(nums):""":type nums: List[int]:rtype: int"""ans = 0s =set()for num in nums:if num in s:ans ^= nums.add(num)return ans

10/13 1884. 鸡蛋掉落-两枚鸡蛋

动态规划
dp[i]表示i层需要的最少操作次数
选择k往下扔
如果没有碎那么答案在[k+1,i] i-k层建筑中 等同于dp[i-k]
如果碎了答案在[1,k-1] 依次试需要k-1次

def twoEggDrop(n):""":type n: int:rtype: int"""dp=[0]+[float("inf")]*nfor i in range(1,n+1):for k in range(1,i+1):dp[i] = min(dp[i],max(k-1,dp[i-k])+1)return dp[n]


http://www.ppmy.cn/embedded/126870.html

相关文章

Vue3 props

组件与组件之间不是完全独立的&#xff0c;而是有交集的&#xff0c;组件与组件之间可以传递数据&#xff0c;通过props属性可以让子组件接收父组件传递过来的数据。 以父组件-App.vue&#xff0c;子组件-Person.vue为例&#xff1a; 将子组件当作HTML中的标签一样&#xff0c…

并发——笔试面试总结

1. 进程之间通信的途径有哪些&#xff1f;并说一下他们的通信机制原理 进程间通信的途径包括管道、消息队列、共享内存、信号量、套接字等&#xff0c;以下是几种常见的进程间通信方式及原理&#xff1a; (1) 管道(Pipe) 通信机制原理&#xff1a;管道是一种半双工的通信方式&a…

PE结构之绑定导入表

打印绑定导入表 //打印 绑定导入表 BOOL PrintBoundImport(__in char* m_fileName) {char* Filebuffer NULL;if (!GetFileBuffer(m_fileName, &Filebuffer)) return FALSE;PIMAGE_DOS_HEADER LPdosHeader NULL;PIMAGE_NT_HEADERS LPntHeader NULL;LPdosHeader (PIMAGE…

需求管理工具Jama Connect:与Jira/Slack/GitHub无缝集成,一站式解决复杂产品开发中的协作难题

在产品和软件开发的动态世界中&#xff0c;有效协作是成功的关键。然而&#xff0c;团队往往面临着阻碍进步和创新的重大挑战。了解这些挑战并找到强有力的解决方案&#xff0c;对于实现无缝、高效的团队协作至关重要。Jama Connect就是这样一种解决方案&#xff0c;它是一个功…

在SpringBoot+VUE中 实现登录-RSA的加密解密

步骤-先理清楚在动手 前端首先调用后端的公钥接口,在前端加密密码传输至后端登录接口后端用私钥解密码拿着用户名去数据库查询出来的盐值加密的 密码1用私钥解密密码登录密码加盐值得到 密码2比较密码1与密码2,相同则登录成功&#xff0c;跳转首页&#xff5c;其他页面 前端实…

【回顾原生JDBC手动管理事务以及两种方式实现Spring编程式事务】

文章目录 一.关于事务1.事务概念2.事务四个基本特性3. 事务的生命周期4.事务的隔离级别5.事务的应用场景 二.回顾原生JDBC手动管理事务三.Spring编程式事务1.使用 TransactionTemplate 进行编程式事务管理2.使用 PlatformTransactionManager 进行编程式事务管理 四.编程式事务的…

开局一个登录框,密码重置全靠翻

一、开局获取登录框 挑选一个目标&#xff0c;直接来到它的统一信息门户 可以看到&#xff0c;框里直接提示默认用户名和密码&#xff0c;这不得来全部费功夫&#xff0c;只要找到个学号和身份证就能进到里面去特 二、震惊&#xff01;某校竟在公网放出学生这种信息 还是直接…

[单master节点k8s部署]37.微服务(一)springCloud 微服务

微服务架构的一个重要特点是&#xff0c;它与开发中使用的具体编程语言或技术栈无关。每个微服务都可以使用最适合其功能需求的语言或技术来实现。例如&#xff0c;一个微服务可以用Java编写&#xff0c;另一个微服务可以用Python、Go、Node.js等编写。微服务架构允许这种灵活性…