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

厚街东莞网站建设视频剪辑培训比较有名的学校

厚街东莞网站建设,视频剪辑培训比较有名的学校,长沙专业的网站设计,苏州房产网LeetCode 2966. 将数组分成差值不超过 k 的长度为 3 的子数组 原题链接#xff1a;LeetCode CN - Divide Array Into Arrays With Max Difference 题目描述 给你一个整数数组 nums 和一个正整数 k。 你需要将这个数组划分为 n / 3 个长度为 3 的子数组。每个子数组必须满足LeetCode CN - Divide Array Into Arrays With Max Difference 题目描述 给你一个整数数组 nums 和一个正整数 k。 你需要将这个数组划分为 n / 3 个长度为 3 的子数组。每个子数组必须满足 子数组中任意两个元素之间的差值绝对值都 小于等于 k 要求返回这些子数组的列表二维数组形式。 如果无法划分满足条件的子数组返回空数组 []。 若有多个解返回任意一个即可。 示例分析 示例 1 输入nums [1,3,4,8,7,9], k 3 输出[[1,3,4],[7,8,9]]解释 排序后[1,3,4,7,8,9] 分组 - [1,3,4] 差值最大为 3 - [7,8,9] 差值最大为 2 示例 2 输入nums [1,3,4], k 1 输出[] 解释1 和 3 差为 2超过了 1思路解析 本质分析 我们需要把数组分成若干组每组正好 3 个元素且这 3 个元素两两差值都 k。 解法排序 贪心分组 步骤 判断 nums.size() % 3 ! 0无法整除直接返回 [] 对数组进行排序 每隔 3 个数组成一个子数组 [a,b,c]只需检查 c - a k因为排序后a b c最大差值在 a 和 c 之间 若所有子数组都满足条件返回所有子数组 若任意一组不满足返回 [] 为什么只需判断 max - min k 因为排序后 差值最大的一对是 最小值 和 最大值若 max - min k则中间那个值也自然合法 代码实现 C 实现 class Solution { public:vectorvectorint divideArray(vectorint nums, int k) {int n nums.size();if (n % 3 ! 0) return {};sort(nums.begin(), nums.end());vectorvectorint res;for (int i 0; i n; i 3) {if (nums[i 2] - nums[i] k) {return {};}res.push_back({nums[i], nums[i 1], nums[i 2]});}return res;} };Go 实现 import sortfunc divideArray(nums []int, k int) [][]int {n : len(nums)if n%3 ! 0 {return [][]int{}}sort.Ints(nums)var res [][]intfor i : 0; i n; i 3 {if nums[i2]-nums[i] k {return [][]int{}}group : []int{nums[i], nums[i1], nums[i2]}res append(res, group)}return res }边界测试用例 输入k输出说明[1,2,3], 11[]3-12 1[1,2,3], 22[[1,2,3]]合法[10,13,11,7,8,9], 33[[7,8,9],[10,11,13]]合法[1,2,3,4], 22[]不能整除 复杂度分析 时间复杂度 排序O(n log n)分组判断O(n)总体O(n log n) 空间复杂度 排序O(1)就地排序结果数组O(n) 拓展思考 1. 如果要求每个子数组 长度为任意值但差值仍需小于等于 k 就不能使用固定步长分组了可考虑 双指针 滑动窗口 2. 如果允许的组数不确定但要最多分组 可以用贪心策略 union set 找最大匹配组 总结 这是一个 排序 分段验证 的贪心题 关键在于观察 只需判断一组的最大值和最小值差是否超过 k 若不要求固定长度为 3就需考虑滑动窗口等策略
http://www.tj-hxxt.cn/news/143537.html

相关文章:

  • 室内设计做效果图可以接单的网站医疗器械注册证
  • 网站(建设)安全自查报告公众号自己做电影网站
  • phpcms建站教程河北沙河市建设局网站
  • 网站群建设 中标嵌入式软件开发是什么专业
  • 网站建设捌金手指花总二六查找公司信息的网站
  • 丹东 建设集团 招聘信息网站企业官方网站地址
  • 做博客网站赚钱中国物联网企业排名
  • 网站域名实名认证吗高性能网站建设进阶指南pdf
  • 做网站会员推广哪个好网页建站专业公司
  • 怎么做网络销售的网站讷河市铁道北建设高架桥
  • 安装wordpress主题放哪里网站优化吧
  • 汽车专业网站wordpress怎么写php
  • wordpress游戏站网站文字模板
  • 青岛seo建站北京注册公司麻烦吗
  • 南京哪家网站做的好asp网站 换模板
  • 档案信息网站建设的意义如何免费创建企业网站
  • 上传网站程序后又怎么做网站建设金
  • 贵阳经开区建设管理局网站南京网站设计建设
  • 做网站路径手机模板网站下载
  • 做网站后端的全部步骤asp代码如何修改asp网站网页域名名称
  • 网站开发工具评价视频网站用户增长怎么做
  • 企业网站改版的好处怎么做网站设
  • 大型企业的微网站谁做wordpress 右侧边栏
  • 网站维护简单吗公司地址变更
  • 台州市城市建设投资公司网站本溪网站建设
  • 空间网网站seo优化培训
  • 致力于邯郸网站建设制作服务_使众多客户将网站转化为网络市场营销.中国建设工程造价管理协会网站简称
  • 信阳企业网站建设建站快车来电
  • 手机上网网站建设建筑导航网站
  • 搜网站首页不见了seo安卓开发软件手机版