【代码随想录】算法训练计划36

贪心

1、435. 无重叠区间

题目:
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。

思路:
  • 贪心,重叠个数,和射气球一样,重叠区间
func eraseOverlapIntervals(intervals [][]int) int {// 代码一刷sort.Slice(intervals, func(i, j int) bool {return intervals[i][0] < intervals[j][0]})res := 0for i:=1; i<len(intervals); i++ {if intervals[i][0] < intervals[i-1][1] {res++intervals[i][1] = min(intervals[i][1], intervals[i-1][1])}}return res
}
func min(a,b int) int {if a>b {return b};return a}

2、763. 划分字母区间

题目:
输入:s = “ababcbacadefegdehijhklij”
输出:[9,7,8]

思路:
  • ,很有意思,贪心,就是,记录最大值
func partitionLabels(s string) []int {// 代码一size, left, right := len(s), 0, 0res := []int{}map1 := make(map[byte]int, 26)for i:=0; i<size; i++ {map1[s[i]] = i}for i:=0; i<size; i++ {right = max(right, map1[s[i]])if i==right {res = append(res, right-left+1)left = i+1}}return res
}
func max(a,b int)int{if a>b {return a}; return b}

3、56. 合并区间

题目:
输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

思路:
  • 简单,贪心,区间问题
func merge(intervals [][]int) [][]int {// 代码一刷sort.Slice(intervals, func(i, j int) bool {return intervals[i][0]<intervals[j][0]})res := make([][]int, 0)left, right := intervals[0][0], intervals[0][1]for i:=1; i<len(intervals); i++ {if right < intervals[i][0] {res = append(res, []int{left, right})left, right = intervals[i][0], intervals[i][1]} else {right = max(right, intervals[i][1])}}res = append(res, []int{left, right})return res
}
func max(a, b int)int{if a>b {return a}; return b}

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

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

相关文章

C# WPF上位机开发(倒计时软件)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 生活当中&#xff0c;我们经常会遇到倒计时的场景&#xff0c;比如体育运动的时候、考试的时候等等。正好最近我们学习了c# wpf开发&#xff0c;完…

力扣114. 二叉树展开为链表

思路&#xff1a; 根据二叉树前序遍历&#xff1a;根-左子树-右子树&#xff1b;要按照前序遍历将二叉树展开&#xff0c;则遍历节点右子树需要挂载到左子树“最右”节点右子树上&#xff1b;则当前节点 current 左子树 next current->left 的最右节点 rightmost &#xff…

记录一次现网问题排查(分享查域名是否封禁小程序)

背景&#xff1a; 收到工单反馈说现网业务一个功能有异常&#xff0c;具体现象是tc.hb.cn域名无法访问&#xff0c;客户地区是河南省&#xff0c;这里记录下排查过程和思路。 首先梳理链路 客户端域名 tc.hb.cn cname—> domainparking-dnspod.cn(新加坡clb)—> snat—&…

基于ssm的汽车论坛管理系统设计与实现

基于ssm的汽车论坛管理系统设计与实现 摘要&#xff1a;信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题…

论文学习-Attention Is All You Need

Attention Is All You Need 目前暂时不会用到&#xff0c;大概了解一下即可。 Recurrent model 序列化的计算方式&#xff0c;难以并行&#xff0c;随着序列的增长&#xff0c;以前的记忆会逐渐丢失。而Attention机制可以观察到句子中所有的信息&#xff0c;不受距离影响&…

vuepress-----2、初体验

2、初体验 目标 创建GitHub账号创建Github项目初体验vuepress默认主体的首页 初体验 (opens new window) --- home: true heroImage: /hero.png heroText: Hero 标题 tagline: Hero 副标题 actionText: 快速上手 → actionLink: /zh/guide/ features: - title: 简洁至上deta…

【傻瓜级JS-DLL-WINCC-PLC交互】7.​C#直连PLC并读取PLC数据

思路 JS-DLL-WINCC-PLC之间进行交互&#xff0c;思路&#xff0c;先用Visual Studio创建一个C#的DLL控件&#xff0c;然后这个控件里面嵌入浏览器组件&#xff0c;实现JS与DLL通信&#xff0c;然后DLL放入到WINCC里面的图形编辑器中&#xff0c;实现DLL与WINCC的通信。然后PLC与…

使用Redis实现接口防抖

说明&#xff1a;实际开发中&#xff0c;我们在前端页面上点击了一个按钮&#xff0c;访问了一个接口&#xff0c;这时因为网络波动或者其他原因&#xff0c;页面上没有反应&#xff0c;用户可能会在短时间内再次点击一次或者用户以为没有点到&#xff0c;很快的又点了一次。导…

php+redis抢购商品高并发实现

1、准备前库存先存储到redis // 创建Redis连接 $redis new Redis(); $redis->connect(127.0.0.1, 6379); // 假设Redis服务器在本地运行&#xff0c;端口为默认的6379 // 商品ID $productID 123; //库存 $stock10; $stockKey product: . $productID . :stock; $redis-&g…

Notepad++批量添加引号

工作中经常会遇到这样情景&#xff1a;业务给到一批订单号&#xff0c;需要查询这批订单的某些字段信息。在where条件中需要传入这些订单号的数组&#xff0c;并且订单号用引号引起&#xff0c;用引号隔开。 字符串之间长度相同 可以按住CtrlAlt和鼠标左键选中区域&#xff0…

ora.LISTENER.lsnr状态为Not All Endpoints Registered

客户的监控反馈有个监听无法连接&#xff0c;登录环境检查发现ora.LISTENER.lsnr的状态为Not All Endpoints Registered&#xff0c;如下 [rootdb2 ~]# crsctl status res -t -------------------------------------------------------------------------------- NAME …

C/C++内存管理(含C++中new和delete的使用)

文章目录 C/C内存管理&#xff08;含C中new和delete的使用&#xff09;1、C/C内存分布2、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free3、C动态内存管理3.1、new/delete操作内置类型3.2、new/delete操作自定义类型 4、operator new与operator delete函数5、…

Jave内存模型 与 CPU硬件架构 的交互图

JMM里所讲的主内存、工作内存与Java内存区域中的Java堆、栈、方法区等并不是同一个层次的对内存的划分&#xff0c;这两者基本上是没有任何关系的。 如果两者一定要勉强对应起来&#xff0c;那么从变量、主内存、工作内存的定义来看&#xff0c;主内存主要对应于Java堆中的对象…

Git分支合并导致文件异常

昨天合并分支后&#xff0c;突然出现了项目中全部的文件出现异常。 先说结论&#xff1a;合并导致文件冲突处理异常&#xff0c;Git lfs 异常 解决方式&#xff1a;CMD 中执行 git lfs install git lfs pull。 合并分支后&#xff0c;发现项目中全部的png异常&#xff0c;编译a…

【华为交换】交换机聚合接口配置(Eth-trunk)

功能简介 Eth-Trunk又叫以太网链路聚合Eth-Trunk&#xff0c;它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路。达到增加链路带宽的目的。在实现增大带宽目的的同时&#xff0c;Eth-Trunk采用备份链路的机制&#xff0c;可以有效的提高设备之间链路的可靠性。每个聚合组…

[原创][2]探究C#多线程开发细节-”线程的无顺序性“

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delph…

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]

前言&#xff1a; 这章的目的主要是通过诊断错误的来源,通过错误的来源去优化,挑选模型。 通过本章掌握 过拟合(overfitting)和欠拟合(underfitting)出现原因及解决方案. 目录&#xff1a; 1 概述 2 方差,偏差现象 3 过拟合和欠拟合 4 模型选择 5 概率论回顾 一 概…

Linux:windows 和 Linux 之间文本格式转换

背景 在 Windows 上编辑的文件&#xff0c;放到 Linux 平台&#xff0c;有时会出现奇怪的问题&#xff0c;其中有一个是 ^M 引起的&#xff0c;例如这种错误&#xff1a; /bin/bash^M: bad interpreter 这个问题相信大家也碰到过&#xff0c;原因是 Windows 和 Linux 关于换行的…

【JS Promise, Promise.all 与 async/await用法详解】

目录 PromisePromise基本使用Promise可进行连续回调Promise回调可接受入参1.工作原理 async/await总结参考文档&#xff1a; 异步 let a 0setTimeout(() > {a 1}, 1000)console.log(a) // 0此时这个延迟就成为异步执行的了&#xff0c;a值还没有变1就被使用输出&#xff0…

linux下实现Qt程序实现开机自启动

1.原理 要想实现开机自启动&#xff0c;首先&#xff0c;QT是没有这种实现的&#xff0c;最好是靠电脑开机的启动目录启动软件&#xff0c;下面这个目录 /etc/xdg/autostart 这是操作系统中用于配置启动项的目录&#xff0c;该目录下存放着开机自启动的启动器(.desktop)文件…