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

最大间距问题

LeetCode164 最大间距 

 基数排序

#include <iostream>
#include <vector>
using namespace std;class Solution {
public:int maximumGap(vector<int>& nums) {int n=nums.size();if(n<2) return 0;int exp=1;int Max=nums[0];vector<int> buf(n);for(int i=1;i<n;i++) Max=max(Max,nums[i]);while(exp<=Max){vector<int> cnt(10,0);for(int i=0;i<n;i++){int digit=(nums[i]/exp)%10;cnt[digit]++;}for(int i=1;i<10;i++) cnt[i]=cnt[i]+cnt[i-1];for(int i=n-1;i>=0;i--){int digit=(nums[i]/exp)%10;buf[cnt[digit]-1]=nums[i];cnt[digit]--;}copy(buf.begin(),buf.end(),nums.begin());exp*=10;}int res=0;for(int i=1;i<n;i++) res=max(nums[i]-nums[i-1],res);return res;}
};

分桶法

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;class Solution {
public:int maximumGap(vector<int>& nums){int Min=*min_element(nums.begin(),nums.end());int Max=*max_element(nums.begin(),nums.end());if(Max-Min<=1) return Max-Min;int n=nums.size();int d=(Max-Min+n-2)/(n-1);vector<pair<int,int>> buckets((Max-Min)/d+1,{0x3f3f3f3f,-0x3f3f3f3f});for(int i=0;i<n;i++){auto& [mn,mx]=buckets[(nums[i]-Min)/d];mn=min(nums[i],mn);mx=max(mx,nums[i]);}int res=0;int pre_max=0x3f3f3f3f;for(auto [mn,mx]:buckets){if(mx!=-0x3f3f3f3f){res=max(res,mn-pre_max);pre_max=mx;}}return res;}    
};

相关文章:

最大间距问题

LeetCode164 最大间距 基数排序 #include <iostream> #include <vector> using namespace std;class Solution { public:int maximumGap(vector<int>& nums) {int nnums.size();if(n<2) return 0;int exp1;int Maxnums[0];vector<int> buf(n)…...

【Hadoop|MapReduce篇】Hadoop序列化概述

1. 什么是序列化 序列化就是把内存中的对象&#xff0c;转换成字节序列&#xff08;或其他数据传输协议&#xff09;以便于存储到磁盘&#xff08;持久化&#xff09;和网络传输。 反序列化就是将收到的字节序列&#xff08;或其他数据传输协议&#xff09;或者磁盘的持久化数…...

【Elasticsearch系列】Elasticsearch中的分页

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

NLTK:一个强大的自然语言处理处理Python库

我是东哥&#xff0c;一名热爱技术的自媒体创作者。今天&#xff0c;我将为大家介绍一个非常有趣且强大的Python库——NLTK。无论你是刚刚接触Python的小白&#xff0c;还是对自然语言处理&#xff08;NLP&#xff09;有些许了解的朋友&#xff0c;NLTK都是一个值得学习的工具。…...

NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现

0x01 产品简介 NUUO网络视频录像机(Network Video Recorder,简称NVR)是NUUO Inc.生产的一种专业视频监控设备,它广泛应用于零售、交通、教育、政府和银行等多个领域。能够同时管理多个IP摄像头,实现视频录制、存储、回放及远程监控等功能。它采用先进的视频处理技术,提供…...

【支付】Stripe支付通道Java对接(产品 价格 支付 查询 退款 回调)

Stripe是一家美国科技公司&#xff0c;成立于2010年&#xff0c;由爱尔兰兄弟Patrick Collison和John Collison共同创立。该公司致力于提供高效、简洁的互联网支付收款服务&#xff0c;为开发者或商家提供支付API接口或代码&#xff0c;使商家的网站、移动APP支持信用卡付款。S…...

Unity3D 小案例 像素贪吃蛇 01 蛇的移动

Unity3D 小案例 像素贪吃蛇 第一期 蛇的移动 像素贪吃蛇 今天来简单制作一个小案例&#xff0c;经典的像素贪吃蛇。 准备 首先调整一下相机的设置&#xff0c;这里使用灰色的纯色背景&#xff0c;正交视图。 接着&#xff0c;创建一个正方形&#xff0c;保存为预制体&#…...

【STM32 MCU】stm32MCUs 32-bit Arm Cortex-M

stm32MCUs 32-bit Arm Cortex-M...

html+css网页设计 旅游 雪花旅行社5个页面

htmlcss网页设计 旅游 雪花旅行社5个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…...

vue3中的实例

实例类型 Vue2&#xff1a;每个Vue应用都是new Vue创建的一个新实例&#xff0c;创建的时候将data作为property添加到响应式系统中 vue3&#xff1a;createApp创建一个Application Instance、应用实例用来注册全局内容&#xff0c;大多数方法支持链式调用&#xff0c;返回实例…...

9.测试计划(包含笔试/面试题)

一、软件测试计划介绍 1.测试计划就是一份测试文档&#xff0c;一份描述测试工作计划的文档&#xff0c;对测试计划进行统筹安排。 2.测试计划的编写者就是测试组长&#xff0c;测试主管。 3.测试计划的查阅者&#xff1a;测试人员&#xff0c;测试主管&#xff0c;产品&#x…...

这 7 款AI应用将让你全新的iPhone 16成为电影制作的强大工具

苹果公司在周一的Glowtime发布会上揭晓了新款的iPhone 16 Pro系列。除了新加入的苹果智能功能和令人印象深刻的硬件升级外&#xff0c;它还获得了一套视频制作工具&#xff0c;让用户能够在一个几乎可以放进口袋的设备上制作整部电影。 这些升级中有一个48MP融合相机。它具有2…...

自注意力机制(self-attention)

自注意力机制&#xff08;self-attention&#xff09; 之前听过吴恩达老师的课&#xff0c;吴恩达老师CNN那一块讲的特别好&#xff0c;但是后面RNN这一部分我听的不是很明白&#xff0c;今天有看了李宏毅老师attention这部分的课&#xff0c;总结一下笔记。 self-attention …...

Nuxt3入门:过渡效果(第5节)

你好同学&#xff0c;我是沐爸&#xff0c;欢迎点赞、收藏、评论和关注。 Nuxt 利用 Vue 的 <Transition> 组件在页面和布局之间应用过渡效果。 一、页面过渡效果 你可以启用页面过渡效果&#xff0c;以便对所有页面应用自动过渡效果。 nuxt.config.js export defaul…...

【开发工具】IntelliJ IDEA插件推荐:Json Helper——让JSON处理更高效

导语&#xff1a;在Java开发过程中&#xff0c;JSON作为一种轻量级的数据交换格式&#xff0c;被广泛应用于前后端数据交互。今天&#xff0c;我要为大家介绍一款IntelliJ IDEA插件——Json Helper&#xff0c;帮助开发者更高效地处理JSON数据。 一、什么是Json Helper&#x…...

Lua垃圾回收机制

Lua垃圾回收机制 在 Lua 中&#xff0c;一共只有8种数据类型&#xff0c;分别为 nil 、boolean 、userdata 、number 、string 、 table 、 function 、 userdata 和 thread 。其中&#xff0c;只有 string table function thread 四种是以引用方式共享&#xff0c;是需要被 G…...

Java学习路线:详细指引

Java学习路线可以分为几个阶段&#xff0c;每个阶段都有其重点和推荐学习的内容。下面我将按照初学者、进阶和高级三个阶段来举例说明&#xff1a; 初学者阶段 目标&#xff1a; 熟悉Java基础语法理解面向对象编程掌握基本数据类型和数据结构学会使用IDE&#xff08;如Intel…...

商家转账到零钱如何开通-微信支付

商家转账到零钱是微信支付的一项实用功能&#xff0c;允许商户将资金从商户号余额直接转账到用户的微信零钱。我们以上万次成功申请的经验整理了本文的详细的步骤和建议以帮助商户可以快速开通该功能。 1. 准备工作 - 确认申请资格&#xff1a;只有公司性质的商户可以申请此功能…...

自研商家如何快速接入电商平台订单数据?

随着电子商务行业的快速发展&#xff0c;越来越多的商家开始寻求高效的订单管理和数据整合方案。对于那些自研系统的商家来说&#xff0c;如何实现与各大电商平台之间的无缝对接&#xff0c;成为了一项重要挑战。点三电商API正是为此类需求量身打造&#xff0c;为商家提供了一站…...

Win10下借助CMake编译OpenMVS

笔者在编译OpenMVS的过程十分曲折。刚开始借助CMake编译,能够把与库生成相关的工程编译出来,但是与可执行文件相关的工程会报错;后来参考官方教程借助VCPKG编译,发现VCPKG并没有想中强大、好用,最终也是遇到了各种问题没有编译成功。但是,笔者在解决问题的过程发现了问题…...

MVC / MVVM 和 Vue3、React18 到底啥关系?

MVC / MVVM 和 Vue3、React18 到底啥关系&#xff1f; 我用最直白、最贴合你日常写代码的方式讲清楚&#xff0c;保证你瞬间通透。一、先给结论&#xff08;最重要&#xff09; Vue3 标准的 MVVM 框架&#xff08;官方自己定义的&#xff09;React18 借鉴 MVVM 思想&#xff…...

WPF图片处理避坑指南:Image控件Stretch属性的4种模式详解(含效果对比图)

WPF图片处理避坑指南&#xff1a;Image控件Stretch属性的4种模式详解 刚接触WPF开发的工程师们&#xff0c;是否经常遇到图片显示变形、比例失调的困扰&#xff1f;Image控件的Stretch属性看似简单&#xff0c;却藏着不少设计哲学。今天我们就来彻底拆解这个影响图片显示效果的…...

3步实现会呼吸的界面边界:让表单交互体验提升300%的动态效果

3步实现会呼吸的界面边界&#xff1a;让表单交互体验提升300%的动态效果 【免费下载链接】motion-primitives UI kit to make beautiful, animated interfaces, faster. Customizable. Open Source. 项目地址: https://gitcode.com/gh_mirrors/mo/motion-primitives 在现…...

2026年AI大爆发:DeepSeek、Claude、Gemini三强鼎立,智能体应用成为新战场

进入2026年&#xff0c;AI领域迎来前所未有的激烈竞争格局。DeepSeek凭借极低的训练成本和开源策略强势出圈&#xff0c;R1模型在推理能力上直追GPT-o1&#xff0c;引发全球AI圈震动&#xff1b;Anthropic的Claude 3.7 Sonnet推出了扩展思考模式&#xff0c;在代码和复杂推理任…...

Vitis新手避坑:自定义IP编译报错?先检查这个Makefile路径!

Vitis新手避坑指南&#xff1a;自定义IP编译报错的核心排查思路 第一次在Vitis中集成自定义IP时遇到编译报错&#xff0c;那种挫败感我至今记忆犹新。明明硬件描述文件&#xff08;XSA&#xff09;已经正确生成&#xff0c;软件工程却莫名其妙地报出"xxx.h: No such file …...

Qwen3.5-4B-Claude-Opus实战案例:用该模型辅助撰写RFC文档与技术决策说明

Qwen3.5-4B-Claude-Opus实战案例&#xff1a;用该模型辅助撰写RFC文档与技术决策说明 1. 模型特性与RFC文档撰写需求 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF作为一款专注于推理分析的AI模型&#xff0c;其结构化思维和分步骤回答能力特别适合技术文档撰写场景…...

DeepSeek-R1-Distill-Qwen-7B功能体验:Ollama部署后,实测推理速度提升3倍

DeepSeek-R1-Distill-Qwen-7B功能体验&#xff1a;Ollama部署后&#xff0c;实测推理速度提升3倍 1. 模型背景与核心优势 1.1 模型技术背景 DeepSeek-R1-Distill-Qwen-7B是华为昇腾与阿里达摩院技术协作的产物&#xff0c;通过知识蒸馏技术将DeepSeek-R1&#xff08;660B参数…...

用Artisan构建专业级咖啡烘焙解决方案:从数据采集到品质优化的全流程指南

用Artisan构建专业级咖啡烘焙解决方案&#xff1a;从数据采集到品质优化的全流程指南 【免费下载链接】artisan artisan: visual scope for coffee roasters 项目地址: https://gitcode.com/gh_mirrors/ar/artisan 在咖啡产业数字化转型的浪潮中&#xff0c;专业烘焙师正…...

YOLOv5 模型训练避坑大全:从数据集制作到解决 mAP 为 0 的常见报错

YOLOv5 模型训练避坑实战指南&#xff1a;从数据标注到调参优化的全流程解决方案 当你第一次成功运行YOLOv5的官方示例时&#xff0c;那种成就感可能让你误以为目标检测模型训练已经掌握。但现实往往很骨感——当换上自己的数据集后&#xff0c;各种报错接踵而至&#xff1a;显…...

深入 Spring 源码,剖析设计模式的落地实践

写在文章开头 阅读源码是理解框架最有效的方式之一,Spring 源码中蕴含了大量设计模式的经典应用。本文将从源码层面深入剖析这些设计模式,带你理解框架设计精髓,掌握在实际项目中灵活运用的能力。 你好,我是 SharkChili ,Java Guide 核心维护者之一,对 Redis、Nighting…...