LeetCode 每日一题 2024/4/8-2024/4/14

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


目录

      • 4/8 2009. 使数组连续的最少操作数
      • 4/9 2529. 正整数和负整数的最大计数
      • 4/10 1702. 修改后的最大二进制字符串
      • 4/11 1766. 互质树
      • 4/12 2923. 找到冠军 I
      • 4/13 2924. 找到冠军 II
      • 4/14 705. 设计哈希集合


4/8 2009. 使数组连续的最少操作数

将nums数组去重从小到大排序
假设x为排好序后的最大值
对于n=len(nums) 范围为x-n+1~x
将[x-n+1,x]看做一个区间
尽可能将更多地数能够出现在这个区间内

def minOperations(nums):""":type nums: List[int]:rtype: int"""n = len(nums)nums = list(set(nums))nums.sort()left = 0ans = 0for i,x in enumerate(nums):while nums[left]<x-n+1:left+=1ans = max(ans,i-left+1)return n-ans

4/9 2529. 正整数和负整数的最大计数

从头遍历 记录正负数的个数

def maximumCount(nums):""":type nums: List[int]:rtype: int"""neg,pos=0,0for num in nums:if num<0:neg+=1if num>0:pos+=1return max(neg,pos)

4/10 1702. 修改后的最大二进制字符串

最终结果最多有1个0
如果字符串没有0 直接返回结果
如果有0 结果中0的位置取决于字符串第一个0的位置
之后每多一个0 可以向后移动一位

def maximumBinaryString(binary):""":type binary: str:rtype: str"""n = len(binary)i = binary.find("0")if i<0:return binarycnt = binary.count('0')s = ['1']*ns[i+cnt-1] = '0'return ''.join(s)

4/11 1766. 互质树

数值范围在1~50之间
gcd[i]表示与i互质的数

def getCoprimes(nums, edges):""":type nums: List[int]:type edges: List[List[int]]:rtype: List[int]"""import mathn=len(nums)gcd = [[] for _ in range(51)]tmp = [[] for _ in range(51)]ans = [-1]*ndep = [-1]*ng = [[] for _ in range(n)]def dfs(x,dp):dep[x] = dpfor v in gcd[nums[x]]:if not tmp[v]:continuelas = tmp[v][-1]if ans[x]==-1 or dep[las]>dep[ans[x]]:ans[x]=lastmp[nums[x]].append(x)for v in g[x]:if dep[v]==-1:dfs(v,dp+1)tmp[nums[x]].pop()for i in range(1,51):for j in range(1,51):if math.gcd(i,j)==1:gcd[i].append(j)for x,y in edges:g[x].append(y)g[y].append(x)dfs(0,1)return ans

4/12 2923. 找到冠军 I

遍历
1.如果是冠军 那么那一行的总和为n-1
2.依次比较n次 假设当前为冠军ans 如果遇到了grid[i][ans]==1
说明i比ans要厉害 那么假设i为冠军 最后剩下的ans就是冠军

def findChampion(grid):""":type grid: List[List[int]]:rtype: int"""n = len(grid)for i in range(n):if sum(grid[i])==n-1:return idef findChampion2(grid):""":type grid: List[List[int]]:rtype: int"""n = len(grid)ans = 0for i in range(1,n):if grid[i][ans]==1:ans = ireturn ans

4/13 2924. 找到冠军 II

依次遍历[a,b] 去除所有b
如果剩下只有一个 那么这个就是冠军

def findChampion(n, edges):""":type n: int:type edges: List[List[int]]:rtype: int"""s = set(list(range(n)))for _,b in edges:if b in s:s.remove(b)return s.pop() if len(s)==1 else -1

4/14 705. 设计哈希集合

使用一个10**6+1长度的数组l 记录l[key]是否在集合中

class MyHashSet(object):def __init__(self):self.l = [0]*(10**6)def add(self, key):""":type key: int:rtype: None"""self.l[key]=1def remove(self, key):""":type key: int:rtype: None"""self.l[key]=0def contains(self, key):""":type key: int:rtype: bool"""return self.l[key]==1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个极简鲁棒的C语言的动态数据类型扩展,取代诸如C++/Rust那些愚蠢的东西

项目地址&#xff1a;https://github.com/shajunxing/banana-cvar 我用过很多高级语言&#xff0c;喜欢简单的东西&#xff0c;讨厌C&#xff0c;一直在想C语言能不能用最简洁的手段扩充动态语言特性&#xff0c;并且支持垃圾回收呢&#xff1f;偶然迸发出灵感&#xff0c;网上…

vue3中使用antv-S2表格(基础功能版)

先看展示效果&#xff1a; 可以调整行宽、列宽、自定义字段图标、表头图标、添加排序、显示总计、小计等 首先确保搭建一个vue3项目环境&#xff0c;从0开始的小伙伴着重看第一点&#xff1a; 一、搭建vue3项目环境 首先创建一个vue3vitets项目&#xff0c;可以查看下面相关…

Mojo语言初次入手

Mojo的出现被认为是编程语言领域的一大进步&#xff0c;有观点认为它可能是几十年来最大的编程进步???!!! 让我来试试&#xff0c;看看是怎么回事。 安装Mojo 打开命令行界面。执行以下命令来安装Mojo SDK&#xff1a; curl -s https://get.modular.com | sh - 3.接下来&…

大厂Java笔试题之百钱买百鸡问题

题目&#xff1a;公元五世纪&#xff0c;我国古代数学家张丘建在《算经》一书中提出了"百鸡问题"&#xff1a;鸡翁一值钱五&#xff0c;鸡母一值钱三&#xff0c;鸡雏三值钱一。 百钱买百鸡&#xff0c;问鸡翁、鸡母、鸡雏各几何&#xff1f; 现要求你打印出所有花一…

uniapp——长按识别二维码

说明 转变思路&#xff0c;长按图片&#xff0c;进入预览图片&#xff0c;这时候再长按就可以了。 <view class"codeMain"><view class"codeWhite" longpress"handleLongPress(i.image(qrcode))"><image :src"i.image(qrc…

解决前端笔记本电脑屏幕显示缩放比例125%、150%对页面大小的影响问题--数据可视化大屏

近期在工作中遇到一个问题&#xff0c;记录一下&#xff0c;在项目上线之后&#xff0c;遇到一个问题&#xff0c;即缩放到90%时&#xff0c;页面字体比默认的100%字体大&#xff0c;一开始毫无头绪&#xff0c;经过一番的Google...Google...Google....&#xff0c;终于找到了解…

游戏服务器DDOS克星-抗D盾(游戏盾)

随着网络游戏市场的不断扩大和发展&#xff0c;游戏服务器遭受DDOS攻击的频率也在逐年增加。DDOS攻击的主要目的是使游戏服务器瘫痪&#xff0c;使得游戏无法正常进行&#xff0c;导致游戏运营商巨额损失。鉴于此&#xff0c;针对游戏服务器的防DDOS攻击技术德迅云安全自主研发…

冲刺2024年思维100春季线上比赛:做做历年思维100真题(附答案)

今天是2024年4月14日&#xff0c;距离2024年春季思维100活动第一阶段的线上比赛4月20日还有6天。那么2024年思维100活动的考试重点是什么呢&#xff1f;主办方未公布&#xff0c;我们可以从历年的思维100真题中来分析和推测&#xff0c;把历年真题和背后的知识点吃透了&#xf…

6.0 MapReduce 使用

6.0 MapReduce 使用 分类 编程 在学习了之前的 MapReduce 概念之后&#xff0c;我们应该已经知道什么是 Map 和 Reduce&#xff0c;并了解了他们的工作方式。 本章将学习如何使用 MapReduce。 Word Count Word Count 就是"词语统计"&#xff0c;这是 MapReduce 工…

深度剖析Java中的String类

目录 引言 String类的特性 String类的部分实现代码&#xff1a; 不可变性&#xff1a; 补充&#xff1a; 常量池&#xff1a; 不可变性的好处 创建String对象 创建String对象的常用的三种方法如下&#xff1a; 使用常量串构造&#xff08;最常用&#xff09;&#xf…

抖音滑块验证码加密的盐的位置

最近更新后之前很容易找到盐的位置的方法变了&#xff0c;抖音特意把盐隐藏起来了 {"reply": "RJC","models": "yAd8rl","in_modal": "DTn0nD2","in_slide": "ou7H0Ngda","move": …

Hystrix应用:如何在Spring Boot中使用Hystrix?

Hystrix应用&#xff1a;如何在Spring Boot中使用Hystrix&#xff1f; 引言 在微服务架构的发展过程中&#xff0c;面对复杂的服务依赖和不可预见的系统故障&#xff0c;如何提升系统的容错能力成为了一个非常急迫且重要的能力。 由 Netflix&#xff08;网飞&#xff09;公司…

基于java+springboot+vue实现的网上购物系统(文末源码+Lw+ppt)23-42

摘 要 随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下&#xff0c;人们更趋向于足不出户解决生活上的问题&#xff0c;网上购物系统展现了其蓬勃生命力和广阔的前景。与此同时&#xff0c;为…

Ubuntu-22.04安装VMware虚拟机并安装Windows10

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、VMware是什么&#xff1f;二、安装VMware1.注册VMware账号2.下载虚拟机3.编译vmmon&vmnet4.加载module5.安装bundle 三、安装Windows101.基础配置2.进阶…

【leetcode面试经典150题】50. 插入区间(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

【算法】分治-快排

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 前言1. 75. 颜色分类1.1 分析1.2 代码 2. 912. 排序数组2.1 分析2.2 代码 3. 215. 数组中的第K个最大元素3.1 分析3.2 代码 4. LCR 159. 库存管理 III4.1 分析4.2 代码 前言 分治就是分而治之 1. 75. 颜色分类 1.1 分析…

滚雪球学Java(73):Java中的引用类型: 弱引用、软引用与强引用详解

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

Scrum.org认证PSM(Professional Scrum Master)官方认证班

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架&#xff0c;旨在最短时间内交付最大价值。根据2022年全球敏捷状态报告&#xff0c;Scrum的应用占比已经达到87%。 Scrum.org 由 Scrum 的联合创始人 Ken Schwaber 创立…

git log详解

文章目录 git log -p其他常用的参数 git log是用来查看历史提交记录的&#xff0c;那么这些记录包含什么呢&#xff1f;如果你不指定分支或者master&#xff0c;默认情况下git log显示的是目前你HEAD的位置的git提交日志&#xff0c;默认不加参数&#xff0c;git log显示如下&a…

【C++风云录】融入虚拟现实的魅力:借助 C++ 库打造沉浸式的游戏体验和交互效果

点燃创造力&#xff1a;解锁 C 库的潜力&#xff0c;构建令人惊叹的物理模拟和游戏应用 前言 在现代的游戏和虚拟现实应用中&#xff0c;物理模拟和真实的交互体验是不可或缺的要素。为了实现逼真的物理效果和流畅的游戏体验&#xff0c;开发人员需要依赖强大的物理模拟库和游…