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

LeetCode 每日一题 2023/8/28-2023/9/3

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


目录

      • 8/28 57. 插入区间
      • 8/29 823. 带因子的二叉树
      • 8/30 1654. 到家的最少跳跃次数
      • 8/31 1761. 一个图中连通三元组的最小度数
      • 9/1 2240. 买钢笔和铅笔的方案数
      • 9/2 2511. 最多可以摧毁的敌人城堡数目
      • 9/3 1921. 消灭怪物的最大数量


8/28 57. 插入区间

找到新区间起点位置 和终点位置对应的区间位置

def insert(intervals, newInterval):""":type intervals: List[List[int]]:type newInterval: List[int]:rtype: List[List[int]]"""ret = []if len(intervals)==0:ret.append(newInterval)return retnow = newIntervalfor i in range(len(intervals)):v = intervals[i]if v[1] < now[0]:ret.append(v)continueelif now[1] < v[0]:ret.append(now)ret.extend(intervals[i:])breaknow[0] = min(v[0],now[0])now[1] = max(v[1],now[1])if len(ret)==0 or now[0] > ret[-1][1]:ret.append(now)return ret

8/29 823. 带因子的二叉树

将数值从小到大排序
dp[i] 代表以arr[i]为根节点能够得到的树个数
从小到大考虑

def numFactoredBinaryTrees(arr):""":type arr: List[int]:rtype: int"""MOD = 10**9+7arr.sort()n = len(arr)dp = [1]*nidx = {arr[i]:i for i in range(n)}for i,v in enumerate(arr):for j in range(i):x = arr[j]if x*x>v:breakif x*x==v:dp[i]= (dp[i]+dp[j]*dp[j])%MODbreakif v%x==0 and v//x in idx:dp[i]=(dp[i]+dp[j]*dp[idx[v//x]]*2)%MODreturn sum(dp)%MOD

8/30 1654. 到家的最少跳跃次数

BFS 标记当前往前为1 往后为-1
如果a>b 当前位置超过x+b之后必定再也到不了x
如果a<b x最大为2000 不超过6000

def minimumJumps(forbidden, a, b, x):""":type forbidden: List[int]:type a: int:type b: int:type x: int:rtype: int"""s = set(forbidden)ans = 0l = [(0,1)]mem={(0,1)}while l:tmp = []for loc,k in l:if loc==x:return ansnxt = [(loc+a,1)]if k==1:nxt.append((loc-b,-1))for i,k in nxt:if i not in s and 0<=i<6000 and (i,k) not in mem:tmp.append((i,k))mem.add((i,k))ans+=1l=tmpreturn -1

8/31 1761. 一个图中连通三元组的最小度数

m[i][j]记录i,j的连通情况
deg[i] 记录i的出度

def minTrioDegree(n, edges):""":type n: int:type edges: List[List[int]]:rtype: int"""deg = [0]*nm = [[0]*n for i in range(n)]for x,y in edges:x,y = x-1,y-1m[x][y] = m[y][x] = 1deg[x]+=1deg[y]+=1ans = float("inf")for i in range(n):for j in range(i+1,n):if m[i][j]==1:for k in range(j+1,n):if m[i][k]==m[j][k]==1:ans = min(ans,deg[i]+deg[j]+deg[k]-6)return -1 if ans==float("inf") else ans

9/1 2240. 买钢笔和铅笔的方案数

遍历可以买钢笔的个数 累加各个情况下可以买铅笔的个数

def waysToBuyPensPencils(total, cost1, cost2):""":type total: int:type cost1: int:type cost2: int:rtype: int"""ans = 0for i in range(total//cost1):ans += (total -i*cost1)//cost2+1return ans

9/2 2511. 最多可以摧毁的敌人城堡数目

从头遍历记录前一个自己城堡位置x 和 空位置y

def captureForts(forts):""":type forts: List[int]:rtype: int"""x,y=-1,-1ans = 0for i,v in enumerate(forts):if v==-1:if x>-1:ans = max(i-1-x,ans)x,y=-1,ielif v==1:if y>-1:ans = max(i-1-y,ans)x,y=i,-1return ans

9/3 1921. 消灭怪物的最大数量

计算每个怪物到城市的时间 从小到大排序
遍历每个怪物是否能在其到达前被消灭

def eliminateMaximum(dist, speed):""":type dist: List[int]:type speed: List[int]:rtype: int"""n = len(dist)t=[0]*nfor i in range(n):t[i] = dist[i]*1.0/speed[i]t.sort()ans = 0for i,v in enumerate(t):if i<v:ans+=1else:breakreturn ans

相关文章:

LeetCode 每日一题 2023/8/28-2023/9/3

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 8/28 57. 插入区间8/29 823. 带因子的二叉树8/30 1654. 到家的最少跳跃次数8/31 1761. 一个图中连通三元组的最小度数9/1 2240. 买钢笔和铅笔的方案数9/2 2511. 最多可以摧…...

Python Tkinter Multiple Windows 教程

一、说明 在这个Python Tkinter教程中&#xff0c;我们将学习如何在Python Tkinter中创建多个窗口&#xff0c;我们还将介绍与多个窗口相关的不同示例。而且&#xff0c;我们将介绍这些主题。 Python Tkinter multiple windows使用多个窗口的 Python Tkinter 用户注册Python Tk…...

【Arduino24】8*8点阵实验

硬件准备 8*8点阵&#xff1a;1个 旋钮电位器&#xff1a;1个 面包板&#xff1a;1块 杜邦线&#xff1a;若干 硬件连线 软件程序 //定义引脚 #define xKnob_pin A0 //x轴旋钮的引脚 #define yKnob_pin A1 //y轴旋钮的引脚 const int row_pin[8] { 6, 11, 10, 3, 17, 4…...

2023年09月数据库流行度最新排名

点击查看最新数据库流行度最新排名&#xff08;每月更新&#xff09; 2023年09月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多&#xff0c;这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...

jenkins快速跑通helloworld任务

jenkins新建helloworld示例 左上角“新建任务” 输入名称&#xff0c;选择第一个创建&#xff1a; 可以选择众多执行脚本&#xff0c;这里选择shell&#xff1a; 随后弹出一个窗口&#xff0c;将下面脚本填入&#xff1a; #!/bin/bashecho start... for i in {1..10}doecho $i…...

win10中安装ros

参考&#xff1a; Windows 10上安装ROS noetic平台_windows ros noetic_高精度计算机视觉的博客-CSDN博客...

问道管理:光刻胶概念再度活跃,广信材料两连板,蓝英装备等涨停

光刻胶概念6日盘中再度活泼&#xff0c;截至发稿&#xff0c;扬帆新材、广信资料、蓝英配备“20cm”涨停&#xff0c;盛剑环境亦涨停&#xff0c;高盟新材涨超9%&#xff0c;同益股份、容大感光涨超5%。 值得注意的是&#xff0c;广信资料已连续两个交易日涨停。公司近来在成绩…...

InstructPix2Pix(CVPR2023)-图像编辑论文解读

文章目录 1.摘要2.背景3.算法3.1 生成多模态训练集3.1.1生成指令及成对caption3.1.2 依据成对的caption生成成对的图像 3.2 InstructPix2Pix 4.实验结果4.1基线比较4.2消融实验 5.结论 论文&#xff1a; 《InstructPix2Pix: Learning to Follow Image Editing Instructions》 …...

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测 前言一、代码运行1. 解压数据2. 导包3. 读取数据4. 构建网络5. 设置优化器6. 模型训练7. 可视化loss8. 模型验证 二、结果展示三、总结作者简介 前言 二氧化硫&#xff08;SO2&#xff09;是一种常见的环境污染物&#xff…...

一个新工具 nolyfill

名字的意思&#xff0c; 我自己的理解 no(po)lyfill 正如它的名字, 不要再用补丁了, 当然这里说的是过时的补丁。 polyfill 是补丁的意思 为什么要用这个插件 文档原文: 当您通过安装最新的 Node.js LTS 来接受最新的功能和安全修复时&#xff0c;像eslint-plugin-import、…...

vue的第2篇 开发环境vscode的安装以及创建项目空间

一 环境的搭建 1.1常见前端开发ide 1.2 安装vs.code 1.下载地址&#xff1a;Visual Studio Code - Code Editing. Redefined 2.进行安装 1.2.1 vscode的中文插件安装 1.在搜索框输入“chinese” 2.安装完成重启&#xff0c;如下变成中文 1.2.2 修改工作区的颜色 选中[浅色]…...

Java之包装类的详细解析

包装类 5.1 概述 Java提供了两个类型系统&#xff0c;基本类型与引用类型&#xff0c;使用基本类型在于效率&#xff0c;然而很多情况&#xff0c;会创建对象使用&#xff0c;因为对象可以做更多的功能&#xff0c;如果想要我们的基本类型像对象一样操作&#xff0c;就可以使…...

SpringBoot项目防止接口重复提交(简单拦截器实现方案)

基于SpringBoot框架来开发业务后台项目时&#xff0c;接口重复提交是一个常见的问题。为了避免这个问题&#xff0c;我们可以通过自定义拦截器实现一个后台拦截接口重复提交的功能&#xff0c;本文将介绍如何使用基于SpringBoot实现这个功能。 首先&#xff0c;我们需要引入一…...

C语言 数据结构与算法 I

C语言-数据结构与算法 C语言基础 因为之前写算法都是用C&#xff0c;也有了些C基础&#xff0c;变量常量数据类型就跳过去吧。 首先是环境&#xff0c;学C时候用Clion&#xff0c;C语言也用它写吧~ 新建项目&#xff0c;选C执行文件&#xff0c;语言标准。。。就先默认C99吧…...

PHP指定时间戳/日期加一天,一年,一周,一月

PHP指定时间戳加上1天&#xff0c;1周&#xff0c;1月&#xff0c;一年其实是不需要用上什么函数的&#xff01;指定时间戳本身就是数字整型&#xff0c;我们只需要再计算1天&#xff0c;1周它的秒数相加即可&#xff01; 博主搜索php指定时间戳加一天一年&#xff0c;结果许多…...

前端框架 vue-admin-template的搭建运行

一介绍 1.1 下载地址 vue-element-admin是基于element-ui 的一套后台管理系统集成方案。 GitHub - PanJiaChen/vue-element-admin: :tada: A magical vue admin https://panjiachen.github.io/vue-element-admin 1.2 node.js的安装 地址下载node.js 1.6版本 CNPM Binari…...

Git—版本控制系统

git版本控制系统 1、什么是版本控制2、常见的版本控制工具3、版本控制分类3.1、本地版本控制3.2、集中版本控制 SVN3.3、分布式版本控制 Git 4、Git与SVN的主要区别5、Git环境配置6、启动Git7、常用的Linux命令8、Git配置9、设置用户名与邮箱&#xff08;用户标识&#xff0c;必…...

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 前言&#xff…...

移动安全测试框架-MobSF WINDOWS 环境搭建

安装python python-3.11.5-amd64.exe 安装Win64OpenSSL-3_1_2.exe 安装VisualStudioSetup.exe github下载安装包 https://github.com/MobSF/Mobile-Security-Framework-MobSF/archive/refs/heads/master.zip GitHub - MobSF/Mobile-Security-Framework-MobSF: Mobile Secur…...

QT连接OpenCV库完成人脸识别

1.相关的配置 1> 该项目所用环境&#xff1a;qt-opensource-windows-x86-mingw491_opengl-5.4.0 2> 配置opencv库路径&#xff1a; 1、在D盘下创建一个opencv的文件夹&#xff0c;用于存放所需材料 2、在opencv的文件夹下创建一个名为&#xff1a;opencv3.4-qt-intall 文…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...