LeetCode 每日一题 2024/9/2-2024/9/8

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


目录

      • 9/2 3153. 所有数对中数位不同之和
      • 9/3 2708. 一个小组的最大实力值
      • 9/4 2860. 让所有学生保持开心的分组方法数
      • 9/5 3174. 清除数字
      • 9/6 3176. 求出最长好子序列 I
      • 9/7 3177. 求出最长好子序列 II
      • 9/8 977. 有序数组的平方


9/2 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

9/3 2708. 一个小组的最大实力值

乘积最大选择所有正数 和偶数个负数
从小到大排列 将所有非零数都相乘 记录最接近0的负数preneg
如果最终答案为负 除以preneg

def maxStrength(nums):""":type nums: List[int]:rtype: int"""nums.sort()preneg = 0neg = 0pos = 0zero = 0ans = 0 for num in nums:if num<0:neg += 1preneg = numelif num==0:zero+=1continueelse:pos+=1if ans==0:ans = numelse:ans *= numif neg==1 and pos==0:if zero>0:return 0else:return ansreturn ans if ans>=0 else ans//preneg

9/4 2860. 让所有学生保持开心的分组方法数

选中的人nums尽可能小 将nums从小到大排序
如果选中k个 需要满足nums[k-1]<k nums[k]>k

def countWays(nums):""":type nums: List[int]:rtype: int"""n=len(nums)ans = 0nums.sort()for k in range(n+1):if k>0 and nums[k-1]>=k:continueif k<n and nums[k]<=k:continueans+=1return ans

9/5 3174. 清除数字

栈 遇到数字弹出顶部字符

def clearDigits(s):""":type s: str:rtype: str"""st = []for c in s:if c.isdigit():st.pop()else:st.append(c)return ''.join(st)

9/6 3176. 求出最长好子序列 I

dp[i][j] 表示以nums[i]结尾的最长序列中有j个数字与最后一个数字不同

def maximumLength(nums, k):""":type nums: List[int]:type k: int:rtype: int"""n=len(nums)ans = 0dp = [[-1]*51 for _ in range(n)]for i in range(n):dp[i][0]=1for l in range(k+1):for j in range(i):add = 0if nums[i]!=nums[j]:add = 1if l-add>=0 and dp[j][l-add]!=-1:dp[i][l] = max(dp[i][l],dp[j][l-add]+1)ans = max(ans,dp[i][l])return ans

9/7 3177. 求出最长好子序列 II

dp[i][j]表示以nums[i]结尾
有j个数字与其在序列中的后一个数字不相等的最长合法序列的长度
枚举x<i 如果nums[x]=nums[i] dp[i][j]=max(dp[x][j]+1)
否则dp[i][j]=max(dp[x][j-1]+1)
zd[j] 表示到位置i之前 有j个数与后一个不等的最长序列长度
即dp[i][j]=max(zd[j]+1)

def maximumLength(nums, k):""":type nums: List[int]:type k: int:rtype: int"""from collections import defaultdictdp=defaultdict(lambda:[0]*(k+1))zd=[0]*(k+1)for num in nums:tmp = dp[num]for j in range(k+1):tmp[j]+=1if j>0:tmp[j]=max(tmp[j],zd[j-1]+1)for j in range(k+1):zd[j]=max(zd[j],tmp[j])return zd[k]

9/8 977. 有序数组的平方

计算每个数平方即可

def sortedSquares(nums):""":type A: List[int]:rtype: List[int]"""return sorted([x**2 for x in nums])

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

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

相关文章

828华为云征文|华为云Flexus X实例docker部署MinIO对象存储系统obs

828华为云征文&#xff5c;华为云Flexus X实例docker部署MinIO对象存储系统obs 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求&#xff0c;一定…

数据分析:R语言计算XGBoost线性回归模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据数据预处理函数模型介绍 SHAP(SHapley Additive exPlanations)值是一种解释机器学习模型预测的方法。它基于博弈论中的Shapley值概念,…

5G网络建设

题目描述 现需要在基城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N&#xff0c;接下来需要各个基站之间使用光纤进行连接以确保基 站能互联互通&#xff0c;不同基站之间假设光纤的成本各不相同&#xff0c;且有些节点之间已经存在光纤…

GeekDesk:不只是桌面美化,更是你的时间管理与效率提升专家

前言 科技&#xff0c;如同织就未来的经纬线&#xff0c;以智慧为梭&#xff0c;穿梭于生活的每一个角落&#xff0c;编织出一张便捷之网&#xff0c;让人类的生活如诗如画&#xff0c;绚烂多彩--这一理念深刻地影响着每一个科技产品的诞生与发展。在众多旨在提升工作效率与生…

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

函数指针和指针函数

指针 指针函数 指针函数一个函数&#xff0c;只不过这个函数的返回值是一个地址值 和普通函数唯一的区别就是在函数名前面多了一个*号 函数返回值必须用同类型的指针变量来接受 也可以将其返回值定义为 void*类型&#xff0c;在调用的时候强制转换返回值为自己想要的类型 str…

一、selenium自动化简介selenium工具集

文章目录 一、简介二、组成部分三、selenium工具集3.1 Selenium IDE3.2 Selenium WebDriver3.3 Selenium Grid3.4 Appium 一、简介 官方网站 Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。 它提供了扩展来模拟用户与浏览器的交互&#xff0c;用于扩展浏览器分…

Excel使用VLOOKUP公式匹配不出正确公式,返回#N/A

问题&#xff1a; Excel使用VLOOKUP公式匹配不出正确公式&#xff0c;返回#N/A 原因&#xff1a; 原数据和匹配的数据格式不一致 解决办法&#xff1a; 把格式都设置为文本。 例如添加一列&#xff0c;输入英文符号&#xff0c;然后把数据源拼接起来&#xff0c;转换为文…

Linux入门攻坚——31、rpc概念及nfs和samba

NFS&#xff1a;Network File System 传统意义上&#xff0c;文件系统在内核中实现 RPC&#xff1a;函数调用&#xff08;远程主机上的函数&#xff09;&#xff0c;Remote Procedure Call protocol 一部分功能由本地程序完成 另一部分功能由远程主机上的 NFS本质…

java实操(二)-酒店管理系统

一、题目 使用二维数组实现酒店管理系统。功能如下&#xff1a; 1.查看酒店所有房间的状态 2.预定房间 3.退房 4.退出系统 二、程序 1.Hotel.java package Hotel;public class Hotel {private int id;private String standard;private String status;public Hotel() {}…

基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践

作者&#xff1a;计缘 LLM Chat 应用大家应该都不陌生&#xff0c;这类应用也逐渐称为了我们日常的得力助手&#xff0c;如果只是个人使用&#xff0c;那么目前市面上有很多方案可以快速的构建出一个LLM Chat应用&#xff0c;但是如果要用在企业生产级别的项目中&#xff0c;那…

【ORACLE】substr() 函数

在 Oracle 数据库中&#xff0c;SUBSTR() 函数用于从字符串中提取子字符串。这个函数非常灵活&#xff0c;可以根据不同的需求提取字符串的不同部分。 函数语法 SUBSTR() 函数的基本语法如下&#xff1a; SUBSTR(string, start, length)string&#xff1a;要提取子字符串的原…

C#高级:递归2-根据ID反向递归求其所有的祖先节点信息

目录 一、实现demo 二、封装方法 【ID>祖先ID】 【ID>祖先实体】 三、递归讲解 一、实现demo class MainClass {static List<Person> PersonList new List<Person>(){new Person(){ Id1,ParentIDnull,Name"小明曾祖父",},new Person(){ Id2…

python文件自动化(4)

接上节课内容&#xff0c;在开始正式移动文件到目标文件夹之前&#xff0c;我们需要再思考一个问题。在代码运行之前&#xff0c;阿文的下载文件夹里已经存在一些分类文件夹了&#xff0c;比如图例中“PDF文件”这个文件夹就是已经存在的。这样的话&#xff0c;在程序运行时&am…

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext new ClassPathXmlApplicationContext("bean.xml"); } BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanFactory的功能相似&#xff0c;都是…

linux 安装redis

1. 更新系统和安装依赖 sudo apt update sudo apt install build-essential tcl2. 下载 Redis 源码(没有opt文件夹&#xff0c;则先创建opt文件夹) cd /opt wget http://download.redis.io/releases/redis-6.2.6.tar.gz3. 解压和编译 Redis 解压下载的文件&#xff0c;并进入…

Qt/C++编写的Onvif调试助手调试神器工具/支持云台控制/预置位设置等/有手机版本

一、功能特点 广播搜索设备&#xff0c;支持IPC和NVR&#xff0c;依次返回。可选择不同的网卡IP进行对应网段设备的搜索。依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。可对指定的Profile获取视频流Rtsp地址&#xff0c;比如主码流地址、子码流地址。可对每个设备设…

AtCoder Beginner Contest 370-C~D题解

AtCoder Beginner Contest 370-C题解 思路 整体来说&#xff0c;一眼是一个贪心&#xff0c;具体来说先把让字典序变小的字符变化&#xff0c;让后再让字典序变大的字符变化 代码 #include <bits/stdc.h> using namespace std; char s[105],t[105]; int a[105],sum; …

深入了解以太坊

1. 以太坊编程语言和操作码 以太坊中智能合约的代码以高级语言编写&#xff0c;如 Serpent、LLL、Solidity 或 Viper,并可转换为 EVM 可以理解的字节码&#xff0c;以便执行。 Solidity 是为以太坊开发的高级语言之一&#xff0c;它具有类似 JavaScript 的语法&#xff0c;可以…

用广播星历计算卫星运动的平均角速度

用广播星历计算卫星位置 1.计算卫星运动的平均角速度 首先根据广播星历中给出的参数计算参考时刻的平均角速度: 式中&#xff0c;GM为万有引力常数G与地球总质量M之乘积&#xff0c;其值为GM3.98600510^14b m3/s2。 然后根据广播星历中给定的摄动参数计算观测时刻卫星的平均…