LeetCode 每日一题 2024/8/26-2024/9/1

2024-08-31 08:52
文章标签 leetcode 每日 2024 26

本文主要是介绍LeetCode 每日一题 2024/8/26-2024/9/1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


目录

      • 8/26 690. 员工的重要性
      • 8/27 3134. 找出唯一性数组的中位数
      • 8/28 3144. 分割字符频率相等的最少子字符串
      • 8/29 3142. 判断矩阵是否满足条件
      • 8/30 3153. 所有数对中数位不同之和
      • 8/31
      • 9/1


8/26 690. 员工的重要性

BFS

class Employee(object):def __init__(self, id, importance, subordinates):# It's the unique id of each node.# unique id of this employeeself.id = id# the importance value of this employeeself.importance = importance# the id of direct subordinatesself.subordinates = subordinatesdef getImportance(employees, id):""":type employees: Employee:type id: int:rtype: int"""if len(employees)==0:return 0dic = {}for v in employees:dic[v.id] = vret = 0l =[]l.append(id)while len(l)>0:n = l.pop(0)e = dic.get(n)ret += e.importancel.extend(e.subordinates)return ret

8/27 3134. 找出唯一性数组的中位数

共有m=1+2+…+n=n*(n+1)/2个费控连续子数组
中位数是第k=m//2个元素
对于一个子数组如果变长 它的不同元素个数不会变少
check(upper)检查小于upper数有多少个

def medianOfUniquenessArray(nums):""":type nums: List[int]:rtype: int"""import bisectfrom collections import defaultdictn=len(nums)k=(n*(n+1)//2+1)//2def check(upper):cnt = 0l = 0fre = defaultdict(int)for r,v in enumerate(nums):fre[v] +=1while len(fre)>upper:out = nums[l]fre[out]-=1if fre[out]==0:del fre[out]l+=1cnt += r-l+1if cnt>=k:return Truereturn Falsereturn bisect.bisect_left(range(len(set(nums))), True,1,key=check)

8/28 3144. 分割字符频率相等的最少子字符串

dp[i]记录以i结尾的前缀字符串最少平和字符串个数
对于每个i j从后往前遍历 m[x]存储字符x出现次数
对于子字符串s[j:i] 记录字符出现最大次数cnt
如果每个字符出现次数相同那么cnt*len(m)=字符串长度i-j+1

def minimumSubstringsInPartition(s):""":type s: str:rtype: int"""from collections import defaultdictn=len(s)dp = [float("inf")]*(n+1)dp[0]=0for i in range(1,n+1):m = defaultdict(int)cnt = 0for j in range(i,0,-1):m[s[j-1]]+=1cnt = max(cnt,m[s[j-1]])if cnt*len(m)==i-j+1 and dp[j-1]!=float("inf"):dp[i]=min(dp[i],dp[j-1]+1)return dp[n]

8/29 3142. 判断矩阵是否满足条件

判断第一行 相邻是否不同
判断每一列 是否相同

def satisfiesConditions(grid):""":type grid: List[List[int]]:rtype: bool"""n,m=len(grid),len(grid[0])for j in range(m):if j>0 and grid[0][j-1]==grid[0][j]:return Falsefor i in range(1,n):if grid[i-1][j]!=grid[i][j]:return Falsereturn True

8/30 3153. 所有数对中数位不同之和

依次统计每一位上所有数值的个数
n=len(nums)
如果数值x出现m次 那么有n-m种情况会出现该位是不同的
累加最后因为重复计算除以二

def sumDigitDifferences(nums):""":type nums: List[int]:rtype: int"""n=len(nums)ans = 0while nums[0]>0:m = [0]*10for i in range(n):m[nums[i]%10]+=1nums[i]//=10for x in range(10):ans += (n-m[x])*m[x]return ans//2

8/31


9/1


这篇关于LeetCode 每日一题 2024/8/26-2024/9/1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123437

相关文章

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

哈希leetcode-1

目录 1前言 2.例题  2.1两数之和 2.2判断是否互为字符重排 2.3存在重复元素1 2.4存在重复元素2 2.5字母异位词分组 1前言 哈希表主要是适合于快速查找某个元素(O(1)) 当我们要频繁的查找某个元素,第一哈希表O(1),第二,二分O(log n) 一般可以分为语言自带的容器哈希和用数组模拟的简易哈希。 最简单的比如数组模拟字符存储,只要开26个c

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

2024/9/8 c++ smart

1.通过自己编写的class来实现unique_ptr指针的功能 #include <iostream> using namespace std; template<class T> class unique_ptr { public:         //无参构造函数         unique_ptr();         //有参构造函数         unique_ptr(

leetcode-24Swap Nodes in Pairs

带头结点。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/public class Solution {public ListNode swapPairs(L

leetcode-23Merge k Sorted Lists

带头结点。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/public class Solution {public ListNode mergeKLists