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

LeetCode 每日一题 2024/10/14-2024/10/20

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


目录

      • 10/14 887. 鸡蛋掉落
      • 10/15 3200. 三角形的最大高度
      • 10/16 3194. 最小元素和最大元素的最小平均值
      • 10/17 3193. 统计逆序对的数目
      • 10/18 3191. 使二进制数组全部等于 1 的最少操作次数 I
      • 10/19 3192. 使二进制数组全部等于 1 的最少操作次数 II
      • 10/20 908. 最小差值 I


10/14 887. 鸡蛋掉落

动态规划
1.dp[K][N]代表K个鸡蛋 N层最坏情况的最少次数
2.dp[k][m]=n k个鸡蛋 可以扔m次 最坏情况下最多可以测n层楼
dp[k][m] = 1+ dp[k,m-1]#没碎+dp[k-1,m-1]#碎了

def superEggDrop(K, N):""":type K: int:type N: int:rtype: int"""mem={}def dp(K,N):if K==1:return Nif N==0:return 0if (K,N) in mem:return mem[(K,N)]res = float('INF')lo,hi=1,Nwhile lo<=hi:mid=lo+(hi-lo)//2broken = dp(K-1,mid-1) #碎了not_broken = dp(K,N-mid),  #没碎if broken>not_broken:hi = mid -1res = min(res,broken+1)else:lo = mid+1res = min(res,not_broken+1)mem[(K,N)]=resreturn resreturn dp(K,N)def superEggDrop2(K, N):""":type K: int:type N: int:rtype: int"""dp = [[0]*(N+1) for _ in range(K+1)]m = 0while dp[K][m]<N:m+=1for k in range(1,K+1):dp[k][m] = dp[k][m-1] + dp[k-1][m-1]+1return m

10/15 3200. 三角形的最大高度

分别判断红、蓝先放第一排的两种情况

def maxHeightOfTriangle(red, blue):""":type red: int:type blue: int:rtype: int"""def check(odd,even):cur = 1while True:print(odd,even,cur)if cur%2==1:if odd>=cur:odd-=curelse:breakelse:if even>=cur:even-=curelse:breakcur+=1return cur-1return max(check(red,blue),check(blue,red))

10/16 3194. 最小元素和最大元素的最小平均值

从小到大排列 依次求平均值

def minimumAverage(nums):""":type nums: List[int]:rtype: float"""nums.sort()ans = nums[-1]n=len(nums)for i in range(n//2):ans = min(ans,(nums[i]+nums[n-1-i])*1.0/2)return ans

10/17 3193. 统计逆序对的数目

https://leetcode.cn/problems/count-the-number-of-inversions/solutions/2946689/tong-ji-ni-xu-dui-de-shu-mu-by-leetcode-qsk7r/?envType=daily-question&envId=2024-10-18

def numberOfPermutations(n, requirements):""":type n: int:type requirements: List[List[int]]:rtype: int"""MOD=10**9+7req = {0:0}for end,cnt in requirements:req[end]=cntif req[0]>0:return 0mem = {}def dfs(end,cnt):ans = 0if (end,cnt) in mem:return mem[(end,cnt)]if cnt<0:return 0if end==0:return 1if end-1 in req:r = req[end-1]if r<=cnt<=end+r:ans = dfs(end-1,r)mem[(end,cnt)]=ansreturn anselse:mem[(end,cnt)]=ansreturn anselse:if cnt>end:ans = (dfs(end,cnt-1)-dfs(end-1,cnt-1-end)+dfs(end-1,cnt))%MODmem[(end,cnt)]=ansreturn anselse:ans = (dfs(end,cnt-1) + dfs(end-1,cnt)) % MODmem[(end,cnt)]=ansreturn ansreturn dfs(n-1,req[n-1])

10/18 3191. 使二进制数组全部等于 1 的最少操作次数 I

对于同个位置起始的操作两次等于没有操作 所以每个位置起始的操作最多1次
对不同的几个操作 顺序并不会改变最后的操作结果
所以从左到右操作即可
从头到尾遍历 遇到0进行翻转
最后查看数组最后两位是否为1

def minOperations(nums):""":type nums: List[int]:rtype: int"""ans=0for i in range(len(nums)-2):if nums[i]==0:nums[i+1]^=1nums[i+2]^=1ans+=1return ans if nums[-1] and nums[-2] else -1

10/19 3192. 使二进制数组全部等于 1 的最少操作次数 II

最左侧的0必须进行反转操作
为了使得反转次数最少 从左至右依次判断
遇到0就需要反转

def minOperations(nums):""":type nums: List[int]:rtype: int"""ans = 0for num in nums:if (num+ans)%2==0:ans+=1return ans

10/20 908. 最小差值 I

找到当前最大值a 最小值 b
a可以减小k b可以增加k
a-b的差值最多可以减少2k

def smallestRangeI(nums, k):""":type nums: List[int]:type k: int:rtype: int"""return max(0,max(nums)-min(nums)-2*k)

相关文章:

LeetCode 每日一题 2024/10/14-2024/10/20

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 10/14 887. 鸡蛋掉落10/15 3200. 三角形的最大高度10/16 3194. 最小元素和最大元素的最小平均值10/17 3193. 统计逆序对的数目10/18 3191. 使二进制数组全部等于 1 的最少操…...

接口测试(六)jmeter——参数化(配置元件 --> 用户定义的变量)

一、jmeter——参数化&#xff08;配置元件 --> 用户定义的变量&#xff09; 注&#xff1a;示例仅供参考 1. 参数化格式&#xff1a;${变量名} 2. 配置元件&#xff1a;用户定义的变量 3. 添加【用户定义的变量】&#xff0c;【线程组】–>【添加】–>【配置元件】–…...

【学习笔记】网络流

背景 马上ICPC了&#xff0c;很惊奇的发现自己没整理网络流的板子。 最大流 dinic 这里选用的是二分图最大匹配的板子&#xff1a;飞行员配对方案问题 #include<bits/stdc.h> #define int long long using namespace std; const int N1e67,inf1e18; struct E {int to…...

【鸡翅Club】项目启动

一、项目背景 这是一个 C端的社区项目&#xff0c;有博客、交流&#xff0c;面试学习&#xff0c;练题等模块。 项目的背景主要是我们想要通过面试题的分类&#xff0c;难度&#xff0c;打标&#xff0c;来评估员工的技术能力。同时在我们公司招聘季的时候&#xff0c;极大的…...

python+大数据+基于热门视频的数据分析研究【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…...

【电子电力】基于PMU相量测量单元的电力系统状态评估

摘要 相量测量单元&#xff08;PMU&#xff09;作为一种精确且快速的实时监控设备&#xff0c;在电力系统状态评估中发挥了重要作用。本文研究了在没有PMU和部署PMU情况下&#xff0c;电力系统的电压角度和电压幅值估计误差的差异。通过比较实验结果&#xff0c;发现PMU的应用…...

ubuntu修改默认开机模式(图形/终端)

将 Ubuntu 16 系统设置为开机进入终端模式&#xff1a; 打开终端。编辑 Grub 配置文件&#xff1a;sudo nano /etc/default/grub。找到 GRUB_CMDLINE_LINUX_DEFAULT 行&#xff0c;将其修改为 GRUB_CMDLINE_LINUX_DEFAULT"text"。保存并退出编辑器&#xff08;Ctrl …...

LaMI-DETR:基于GPT丰富优化的开放词汇目标检测 | ECCV‘24

现有的方法通过利用视觉-语言模型&#xff08;VLMs&#xff09;&#xff08;如CLIP&#xff09;强大的开放词汇识别能力来增强开放词汇目标检测&#xff0c;然而出现了两个主要挑战&#xff1a;&#xff08;1&#xff09;概念表示不足&#xff0c;CLIP文本空间中的类别名称缺乏…...

AI大模型是否有助于攻克重大疾病?

AI大模型在攻克重大疾病方面展现出了巨大的潜力&#xff0c;特别是在疾病预测、药物研发、个性化医疗等领域有着广泛应用。具体来说&#xff0c;AI大模型能够帮助以下几方面&#xff1a; 1、疾病预测与诊断&#xff1a;AI大模型通过分析海量的医学数据&#xff0c;可以提高重大…...

【渗透测试】-红日靶场-获取web服务器权限

拓扑图&#xff1a; 前置环境配置&#xff1a; Win 7 默认密码&#xff1a;hongrisec201 内网ip:192.168.52.143 打开虚拟网络编辑器 添加网络->VMent1->仅主机模式->子网ip:192.168.145.0 添加网卡&#xff1a; 虚拟机->设置-> 添加->网络适配器 保存&a…...

python 深度学习 项目调试 图像分割 segment-anything

起因&#xff0c; 目的: 项目来源: https://github.com/facebookresearch/segment-anything项目目的: 图像分割。 提前图片中的某个目标。facebook 出品&#xff0c; 居然有 47.3k star! 思考一些问题 我可以用这个项目来做什么?给一个图片&#xff0c; 进行分割&#xff0…...

【GO实战课】第六讲:电子商务网站(6):支付和订单处理

1. 简介 本课程将探讨电子商务网站的支付和订单处理功能,以及使用GO语言实现。在本课程中,我们将介绍如何设计一个可扩展、可靠和高性能的支付和订单处理系统,并演示如何使用GO语言编写相关代码。 本课程的目标是帮助学生理解电子商务网站的支付和订单处理功能,并提供一个…...

专题十三_记忆化搜索_算法专题详细总结

目录 1. 斐波那契数&#xff08;easy&#xff09; 那么这里就画出它的决策树 &#xff1a; 解法一&#xff1a;递归暴搜 解法二&#xff1a;记忆化搜索 解法三&#xff1a;动态规划 1.暴力解法&#xff08;暴搜&#xff09; 2.对优化解法的优化&#xff1a;把已经计算过的…...

已发布金融国家标准目录(截止2024年3月)

已发布金融国家标准目录2024年3月序号标准编号标准名称...

【论文#快速算法】Fast Intermode Decision in H.264/AVC Video Coding

目录 摘要1.前言2.帧间模式决策概览2.1 H.264/AVC中的帧间模式决策2.2 发现和动机 3.同质性和平稳性的确定3.1 同质性区域的确定3.2 稳定性区域的决定3.3 整体算法 4.实验结果4.1 IPPP序列的测试4.2 IBBP序列测试 5.结论 《Fast Intermode Decision in H.264/AVC Video Coding》…...

Git核心概念图例与最常用内容操作(reset、diff、restore、stash、reflog、cherry-pick)

文章目录 简介前置概念.git目录objects目录refs目录HEAD文件 resetreflog 与 reset --hardrevert(撤销指定提交)stashdiff工作区与暂存区差异暂存区与HEAD差异工作区与HEAD差异其他比较 restore、checkout(代码撤回)merge、rebase、cherry-pick 简介 本文将介绍Git几个核心概念…...

【人工智能在医疗企业个人中的应用】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

IPv4头部和IPv6头部

IPv4和IPv6是互联网协议&#xff08;IP&#xff09;中的两个主要版本&#xff0c;它们在数据包头部&#xff08;Header&#xff09;结构上存在显著差异。以下是IPv4头部和IPv6头部的主要结构和区别&#xff1a; IPv4头部结构 IPv4&#xff08;Internet Protocol Version 4&…...

从零开始手把手带你训练LLM保姆级教程,草履虫都能学会!零基础看完这篇就足够了~

导读 ChatGPT面世以来&#xff0c;各种大模型相继出现。那么大模型到底是如何训练的呢&#xff0c;在这篇文章中&#xff0c;我们将尽可能详细地梳理一个完整的 LLM 训练流程&#xff0c;包括模型预训练&#xff08;Pretrain&#xff09;、Tokenizer 训练、指令微调&#xff0…...

strcat函数追加字符串

char * strcat ( char * destination, const char * source ); dest&#xff1a;目标字符串&#xff0c;即要将源字符串追加到其末尾的字符串。src&#xff1a;源字符串&#xff0c;即要追加到目标字符串末尾的字符串 使用strcat函数给目标字符串追加字符时&#xff0c;首先要…...

ROS导航避坑指南:搞清rviz里‘2D Pose Estimate’和‘2D Nav Goal’的区别与正确使用姿势

ROS导航避坑指南&#xff1a;rviz中‘2D Pose Estimate’与‘2D Nav Goal’的深度解析与实践技巧 在机器人操作系统&#xff08;ROS&#xff09;的导航栈开发中&#xff0c;rviz作为可视化调试的核心工具&#xff0c;其2D Pose Estimate和2D Nav Goal两个功能按钮看似简单&…...

Windows本地部署Claude代码助手:架构解析与实战指南

1. 项目概述与核心价值 最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Claude-code-ChatInWindows”&#xff0c;作者是LKbaba。光看名字&#xff0c;你大概能猜到它想干什么&#xff1a;在Windows系统里&#xff0c;让Claude这个AI来帮你写代码。这听起来是不是挺酷的…...

163MusicLyrics:一键获取网易云QQ音乐歌词的专业工具

163MusicLyrics&#xff1a;一键获取网易云QQ音乐歌词的专业工具 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到高质量歌词而烦恼吗&#xff1f;163MusicLy…...

从内存视角拆解float和double:用C语言和调试器带你‘看见’IEEE754的二进制世界

从内存视角拆解float和double&#xff1a;用C语言和调试器带你‘看见’IEEE754的二进制世界 在计算机科学中&#xff0c;浮点数的表示和处理是一个既基础又关键的话题。对于从事系统编程、性能优化或逆向工程的开发者来说&#xff0c;理解浮点数在内存中的实际存储形式不仅能帮…...

SmarterRouter:基于软件定义与模块化构建智能路由器系统

1. 项目概述&#xff1a;一个更聪明的路由器&#xff0c;它到底想做什么&#xff1f;如果你和我一样&#xff0c;折腾过家里的网络&#xff0c;从刷第三方固件到组软路由&#xff0c;那你肯定对“路由器”这三个字有复杂的感情。它本该是默默无闻的网络基石&#xff0c;却常常因…...

防火门安装与验收要点|闭门器、密封条、顺序器缺一不可

防火门安装与验收要点一、必备配件&#xff08;缺一不可&#xff09;闭门器&#xff1a;自动关门&#xff0c;火灾常态闭合防火密封条&#xff1a;遇火膨胀&#xff0c;隔烟阻火顺序器&#xff1a;双扇门专用&#xff0c;保证先后闭合二、安装要点门框墙体嵌实牢固&#xff0c;…...

CN2628 可用太阳能供电 5 伏特低压差电压调制集成电路

概述: CN2628是一款可用太阳能供电的低噪声线性电压调制集成电路&#xff0c;采用固定5.0V输出电压&#xff0c;最大 输出电流可达1安培&#xff0c;在5.5V到7V的输入电压范围内输出电压精度可达1%。CN2628工作电流只有520微安&#xff0c;而且同输入和输出的压差没有关系。 CN…...

终极ThinkPad风扇控制指南:告别噪音,拥抱静音高效

终极ThinkPad风扇控制指南&#xff1a;告别噪音&#xff0c;拥抱静音高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾经因为ThinkPad风扇的"直升机起…...

LC正弦波振荡器原理、设计与调试:从巴克豪森判据到电路实战

1. 从直流到交流&#xff1a;正弦波振荡器的核心价值与分类在电子电路的世界里&#xff0c;我们常常需要将稳定的直流电源&#xff0c;转换成特定频率和幅度的交流信号。这个看似“无中生有”的过程&#xff0c;正是正弦波振荡器的核心使命。无论是你手机里的无线通信模块、收音…...

量子最优控制中的iLQR算法实践与优化

1. 量子最优控制基础与挑战量子最优控制&#xff08;Quantum Optimal Control, QOC&#xff09;是现代量子计算中的核心技术&#xff0c;其核心目标是通过精心设计的控制脉冲序列&#xff0c;实现对量子系统状态演化的精确操控。在超导量子计算体系中&#xff0c;这一技术尤为重…...