LeetCode 每日一题 2023/10/9-2023/10/15

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


目录

      • 10/9 2578. 最小和分割
      • 10/10 2731. 移动机器人
      • 10/11 2512. 奖励最顶尖的 K 名学生
      • 10/12 2562. 找出数组的串联值
      • 10/13 1488. 避免洪水泛滥
      • 10/14 136. 只出现一次的数字
      • 10/15


10/9 2578. 最小和分割

统计各个数字出现次数 从小到大排序 依次给两个数

def splitNum(num):""":type num: int:rtype: int"""s = sorted(str(num))ans = int(''.join(s[::2]))+int(''.join(s[1::2]))return ans

10/10 2731. 移动机器人

根据题意碰撞可以忽略 两机器人可以视作互相穿透
所以每个机器人可以得到最后位置为nums[i]+/-d
排序后计算两两距离

def sumDistance(nums, s, d):""":type nums: List[int]:type s: str:type d: int:rtype: int"""mod=10**9+7n=len(nums)l = [nums[i]-d if s[i]=='L' else nums[i]+d for i in range(n)]l.sort()ans = 0for i in range(1,n):ans =(ans + (l[i]-l[i-1])*i*(n-i))%modreturn ans

10/11 2512. 奖励最顶尖的 K 名学生

一个分值ma存放词汇分值
算出每个学生分数后排序

def topStudents(positive_feedback, negative_feedback, report, student_id, k):""":type positive_feedback: List[str]:type negative_feedback: List[str]:type report: List[str]:type student_id: List[int]:type k: int:rtype: List[int]"""m = {}for w in positive_feedback:m[w]=3for w in negative_feedback:m[w]=-1ans=[]for st,re in zip(student_id,report):v = 0for w in re.split():v+=m.get(w,0)ans.append((v,st))ans.sort(key=lambda x :(-x[0],x[1]))return [x[1] for x in ans[:k]]

10/12 2562. 找出数组的串联值

依次累加

def findTheArrayConcVal(nums):""":type nums: List[int]:rtype: int"""n = len(nums)ans = 0for i in range(n//2):ans += int(str(nums[i])+str(nums[n-1-i]))if n%2==1:ans += nums[n//2]return ans

10/13 1488. 避免洪水泛滥

sun记录晴天 如果遇到洪水 找晚于第一次并且早于洪水的晴天 抽干


def avoidFlood(rains):""":type rains: List[int]:rtype: List[int]"""from sortedcontainers import SortedListans = [1]*len(rains)sun = SortedList()m = {}for i,r in enumerate(rains):if r==0:sun.add(i)else:ans[i]=-1if r in m:d = sun.bisect(m[r])if len(sun)==d:return []ans[sun[d]]=rsun.discard(sun[d])m[r]=ireturn ans

10/14 136. 只出现一次的数字

两两异或 相同的数字会抵消
最后剩下来的就是只出现过一次的

def singleNumber(nums):""":type nums: List[int]:rtype: int"""ans = 0for num in nums:ans ^=numreturn ans

10/15


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

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

相关文章

HTTPS 加密全过程

加密协议以前是SSL,现在都是TLS, 而证书现在大多数都是SSL证书 抓包流程: TCP三次握手过后, 客户端发送Client Hello 服务器相应Server Hello 服务器再次响应发送证书: 服务器再发送公钥:

国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)

flutter换源 使用环境变量:PUB_HOSTED_URL FLUTTER_STORAGE_BASE_URL, upgrade出问题时可能会提示设置FLUTTER_GIT_URL变量。 flutter中国 PUB_HOSTED_URLhttps://pub.flutter-io.cn FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn FLUTTER_GIT_URLhtt…

13-网络篇-局域网与外网通信

1.局域网的主机如何和外网通信 比如我们电脑是在局域网内,如何能让它与外网服务器通信。 首先我们要明确一个概念,2个IP必须都是外网IP才能相互建立起外网通信。 比如电脑的IP是192.168.0.3 服务器的IP是 213.18.2.4 在这里,我们可以用NAT路由…

Python3无法调用Sqlalchemy解决(mysqldb)

原因 在安装Sqlalchemy后运行程序报错 无法导入mysqldb,缺失模块 ImportError: No module named ‘MySQLdb’ 既然缺少 MySQLdb 这个模块,尝试按照正常的想法执行 pip install MySQLdbpip install mysql-python 应该能解决,但是却找不到…

Zookeeper【Curator客户端Java版】从0到1——万字学习笔记

目录 初识Zookeeper Zookeeper作用 维护配置信息 分布式锁服务 集群管理 生产分布式唯一ID Zookeeper的设计目标 Zookeeper 工作机制 数据模型 ZooKeeper 命令操作 服务端常用命令 客户端常用命令 ZooKeeper JavaAPI操作 Curator 介绍 Curator API 常用操作 导入依赖 建立连接 …

SQL Server修改表结构

在SQL Server中修改的关键字是 ALTER(改变;(使)更改;修改(衣服使更合身);改动) 列操作 添加列 添加列操作 alter tabel 表名 add 列名 数据类型--给员工表添加一个邮箱 alter的翻译是(改变) alter table people add PeopleMail varchar(2…

微信小程序获取当前日期时间

一、直接使用方式 在小程序中获取当前系统日期和时间,可直接拿来使用的常用的日期格式 //1. 当前日期 YYYY-MM-DDnew Date().toISOString().substring(0, 10)new Date().toJSON().substring(0, 10)//2. 当前日期 YYYY/MM/DDnew Date().toLocaleDateString()//3.…

【JUC】中断机制(interrupt,interrupted,isInterrupted)

中断机制 文章目录 中断机制1. 概述2. 三大方法3. 中断运行中的线程的方式 1. 概述 首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运。所以Thread.stop,Thread.suspend,Thread.resume 都已经被废弃了 …

springboot 配置 servlet

springboot 配置 servlet 在Spring Boot中配置Servlet,你可以遵循以下步骤: 创建一个Servlet类,例如MyServlet,继承自javax.servlet.http.HttpServlet,并实现相应的doGet()或doPost()方法。 import javax.servlet.h…

Java竞赛快速输入输出,防止读取数据过慢导致超时

Java的输出和输出真是太慢了!!!!! 如果需要输入105数量级的数据并输出同样数量级的数据,使用Scanner和System.out耗时将很可能超过1s。为了避免这种输入输出过慢的情况,这里引入Java中比较快的一…

解决jmeter软件显示为英文、返回数据乱码、设置编码格式的问题

一.jmeter软件每次打开都需要手动切换中文 1.修改配置文件,可以把jmeter设置成中文: 2.打开jmeter.properties配置文件,修改languagezh_CN 二.返回数据乱码 改配置文件 进入Jmeter的bin目录下,找到jmeter.properties文件&#…

ffmpeg跨平台arm编译-ubuntu

目录 1. 安装必要的编译器2. 安装必要的依赖项3. 配置编译选项4. 编译安装 1. 安装必要的编译器 32位系统: sudo apt-get update sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install g-arm-linux-gnueabihf64位系统: sudo apt-get u…

工业互联网系列2 - 赋能传统制造业

工业互联网被称为“第四次工业革命”,它将计算、信息与通讯网络相融合,应用于传统的制造业带来制造业的全面升级,实现了生产效率的提高、质量的改进、成本的降低和生产流程的优化。 汽车制造已经达到非常高的智能化和自动化水平,让…

云计算是什么?学习云计算能做什么工作?

很多人经常会问云计算是什么?云计算能干什么?学习云计算能做什么工作?其实我们有很多人并不知道云计算是什么,小知今天来给大家讲讲学习云计算能做什么。 中国的云计算行业目前正处于快速发展阶段,随着互联网和数字化…

Socks5代理和代理IP

在数字时代,网络工程师必须不断掌握新技术,以解决跨界电商、爬虫数据采集、出海业务扩展、网络安全保护以及游戏性能优化等各种技术挑战。本文将深入探讨Socks5代理和代理IP技术,它们在各个领域中的应用,如何为网络工程师提供了强…

Jenkins UI 自动化持续化集成测试

一:安装jenkins 环境 在官网下载msi 直接安装即可 二:设置全局变量 设置allure 路径 三:创建项目 1、创建自由风格项目 2、如果项目在本地,且本地服务器是windows ,找到Jenkins安装根目录,寻找config…

第十八章 类和对象——多态

一、多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动…

git异常:error: failed to push some refs to

场景 git上创建项目后,点击了add readme.md按钮,生成readme文件,导致clone代码后,无法pull,提示异常如下: error: failed to push some refs to http:192.168.xxx.xxx解决方法 执行命令 git pull --reb…

Anaconda prompt中使用conda下载pytorch,一直卡在solving environment解决方案

关闭梯子 清空镜像源: conda config --remove-key channels 在pytorch官网找到对应的版本与命令:PyTorch conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia(我的电脑CUDA版本为12.1.103,…

204、RabbitMQ 之 使用 topic 类型的 Exchange 实现通配符路由

目录 ★ 使用topic实现通配符路由代码演示topic通配符类型的Exchange代码演示:ConstantUtilConnectionUtilProducerConsumer01执行结果生产者消费者01消费者02 完整代码:ConstantUtilConnectionUtilProducerConsumer01Consumer02pom.xml ★ 使用topic实现通配符路由…