尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
A.每日一题:1846. 减小和重新排列数组后的最大元素
题目链接1846. 减小和重新排列数组后的最大元素中等算法原理解法一贪心直接排序7ms击败82.31%时间复杂度O(n logn)贪心思路很简单将整个数组从小到大升序排序由于所有数都≥1因此将第一个元素设置为1往后依次遍历如果发现 arr[i]-arr[i-1]1就将 arr[i] 设置为 arr[i-1]1最终的 arr[n-1] 即为答案解法二贪心计数排序3ms击败98.01%时间复杂度O(N)对于最终的数组从左往右看第一个数是1在持续递增的情况下最后一个数最多为 n这就意味着原数组 arr 中所有n 的数都要减小到≤ n因此 ≥ n 的数都可以视作 n这样我们就确定好了上限可以在 1~n 之间使用计数排序进行计算了~~遍历数组统计它们的个数数组记 cnt[x]为 arr 中 x 的个数和解法一相同从左往右遍历一遍假设现在遍历完 ≤ 4 的数得到的最大值为2那么我们继续遍历的过程中①如果 cnt[5]2新的最大值是多少第一个5减小为3第二个5减小为4这样就能续上了最大值为4②如果 cnt[5]4新的最大值是多少第一个5减小为3第二个5减小为4第三个5不变第四个5不变最大值为5因此当遍历到 cnt[x]之前得到的最大值为 mx那么到 cnt[x]的时候我们可以将 mx 增大至 mxcnt[x]但这个数不能超过 x因此计算式子为 mxmin(mxcnt[x],x)Java代码class Solution { //1846. 减小和重新排列数组后的最大元素 //解法一贪心直接排序 public int maximumElementAfterDecrementingAndRearranging(int[] arr) { int narr.length; Arrays.sort(arr); arr[0]1; for(int i1;in;i) if(arr[i]-arr[i-1]1) arr[i]arr[i-1]1; return arr[n-1]; } }class Solution { //1846. 减小和重新排列数组后的最大元素 //解法二贪心计数排序 public int maximumElementAfterDecrementingAndRearranging(int[] arr) { int narr.length; int[] cntnew int[n1]; for(int x:arr) cnt[Math.min(n,x)]; int mx0; for(int x1;xn;x) mxMath.min(mxcnt[x],x); return mx; } }
RELATED

相关推荐

AI代码生成变便宜了 说“好“的成本反而更贵

AI代码生成变便宜了 说“好“的成本反而更贵

看到GitHub官方博客那篇文章标题的时候愣了几秒。《The cost of saying yes has changed》。说实话 这个角度挺刁钻的。过去两年所有人都在说AI怎么帮人写代码、怎么提效、能生成多少行。但GitHub这篇讨论的不是AI能写多少,而是——当一个功能请求可以用AI在10分钟内…

📅 2026/8/23 17:23:03
TV Bro电视浏览器终极指南:用遥控器轻松实现大屏上网体验

TV Bro电视浏览器终极指南:用遥控器轻松实现大屏上网体验

TV Bro电视浏览器终极指南:用遥控器轻松实现大屏上网体验 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 还在为智能电视上操作传统浏览器而烦恼吗&#xff…

📅 2026/8/23 17:23:03
游戏测试为什么这么难

游戏测试为什么这么难

今年六月份的时候去上海求职 在米哈游的秋招群里加了几个在职的大佬 想尝试冲刺一次米哈游的测试/测开 我原本一直以为我对游戏机制的了解加上我软件测试接口自动化 性能测试 AI测试的了解混个秋招应该不难 直到我通过和他们的交流 他们说:觉得你能力可以了&#xf…

📅 2026/8/23 17:23:04
MORE NEWS

更多资讯

📰

Backstage 后端模块(Backend Modules)深度解析:用扩展点扩展插件的能力边界

Backstage 后端模块(Backend Modules)深度解析:用扩展点扩展插件的能力边界 【免费下载链接】backstage Backstage is an open framework for building developer portals 项目地址: https://gitcode.com/GitHub_Trending/ba/backstage …

📰

终极RPA-Python自动化指南:如何用Python快速解放你的双手

终极RPA-自动化指南:如何用快速解放你的双手【免费下载链接】RPA- for doing RPA项目地址:一款基于机器人流程自动化工具包的RPA, 能借助简单几行代码, 实现网页、桌面应用, 以及命令行操作的自动化。不管你是编程新手, 还是经验丰富的开发者,这个免费开…

📰

Apache Doris数据接口:Stream Load五分钟跑通与多语言集成

Apache Doris数据接口:Stream Load五分钟跑通与多语言集成 【免费下载链接】doris Apache Doris is a real-time analytics and hybrid search database for AI agents. 项目地址: https://gitcode.com/GitHub_Trending/doris/doris Apache Doris 把数据导入…

📰

Transformers 中的 CPM 中文预训练语言模型:GPT-2 架构与 Jieba-RS + SentencePiece 分词器解析

Transformers 中的 CPM 中文预训练语言模型:GPT-2 架构与 Jieba-RS SentencePiece 分词器解析 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio,…

📰

Umi-OCR:免费开源的离线OCR软件,截图、批量图片与PDF一键文字识别

Umi-OCR:免费开源的离线OCR软件,截图、批量图片与PDF一键文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生…

📰

电动车租赁会员管理系统:C#三层架构设计与实现

简介:这是一份可直接运行的电动车租赁会员管理系统项目包,基于C#开发,适合高校计算机相关专业用于毕业设计、课程设计或初期项目演示,也适合编程学习者参考完整业务实现。压缩包共381个文件,大小52.61MB,核…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬