LeetCode1802:有界数组中指定下标处的最大值

操作系统期末大题类型题解 额,OS主要这回考程序分析题,PV操作、生产者消费者啊,哲学家进餐问题,死锁问题啊,如何避免死锁,经典银行家算法,页面置换算法啥的,磁盘调度......总计还有很多,就不一一说了 PV操作 谈到PV操作,首先要了解什么是信号量,其实就是用来解决互斥与同步问题的,分为原语wait(S)和signal(S),也就是我们常说的PV操作,在这里给出王道上的概念 wait(S){ while(S>0) S=S-1; } signal(S){ S=S+1; } 记录型信号量 阅读详情

给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数):

  • nums.length == n
  • nums[i] 是 正整数 ,其中 0 <= i < n
  • abs(nums[i] - nums[i+1]) <= 1 ,其中 0 <= i < n-1
  • nums 中所有元素之和不超过 maxSum
  • nums[index] 的值被 最大化

返回你所构造的数组中的 nums[index] 。

注意:abs(x) 等于 x 的前提是 x >= 0 ;否则,abs(x) 等于 -x 。

示例 1:

输入:n = 4, index = 2,  maxSum = 6
输出:2
解释:数组 [1,1,2,1] 和 [1,2,2,1] 满足所有条件。不存在其他在指定下标处具有更大值的有效数组。

示例 2:

输入:n = 6, index = 1,  maxSum = 10
输出:3


原题链接:https://leetcode.cn/problems/maximum-value-at-a-given-index-in-a-bounded-array/description/

方法:按照贪心思路进行数学推导

根据题意,需要构造一个长度为 n 的数组 nums,所有元素均为正整数,元素之和不超过 maxSum,相邻元素之差不超过 1,且需要最大化 nums[index]。根据贪心的思想,可以使 nums[index]成为数组最大的元素,并使其他元素尽可能小,即从 nums[index]开始,往左和往右,元素值就减少 1,直到到达数组边界,或者减少到仅为 1 后保持为 1 不变。

由此进行条件判断采用等差数列求和,遍历查找即可。

int maxValue(int n, int index, int maxSum){
    if(n==1) return maxSum;//如果数组只有一个元素 返回最大值
    //int res = maxSum/(index+1);//返回值
    int res = (ceil)(maxSum/n);//返回值 这里res进行处理 节省时间
    int p;  //数组邻值
    long long sum;//数组和
    int left = index;
    int right = n - index-1;
    while(true){
        sum = res;
        //左边
        if(res-left>0){
            sum += (long long)(left*(2*res-left-1)/2);
        }else{
            sum += (long long)((left-res+1)+(res-1)*res/2);
        }
        //右边
        if(res-right>0){
            sum += (long long)(right*(2*res-right-1)/2);
        }else{
            sum += (long long)((right-res+1)+(res-1)*res/2);
        }

        if(sum>maxSum) return --res;//满足条件则返回 注意这时候sum>maxSum 需要--
        else ++res;
    }
}

在MDK5.37版本中添加Complier Version 5( 解决Missing Compiler Version 5 ) 本文章仅作为个人学习记录,方法也是从其他博主的博客中得到的,链接如下:二、Keil——Missing Compiler Version 5 和 core_cm3.c 问题解决 - YI颗白菜 - 博客园 (cnblogs.com) 问题描述 更新最新的keil版本(MDK5.37)后,在编译以前版本的工程文件时,发现出现了非常多的报错,在网上搜索之后发现原来时编译器版本不匹配的问题,即MDK5.37中使用的是Version 6版本的编译器,而缺少Version 5,对于以前编写的工 阅读详情

相关推荐

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4725

Leetcode 1802. 有界数组中指定下标处的最大值

第三步,构建check函数,这里的check函数判断nums[index]为indexVal条件下,贪心构建的数组和是否小于等于maxSum。红:nums[index]的条件下,numsSum<=maxSum,蓝:numsSum>maxSum。第一步,确定二分的对象,由于numsSum随nums[index]单调递增,所以可以对nums[index]作为二分对象,numsSum作为二分的判断条件。nums[index]越小,numsSum越小,通过该单调性可以进行二分查找nums[index]

m0_51437455的博客 606

NET 实战:30 天搞定企业级 Web 订餐系统(附完整源码 + 数据库设计)

订餐流程:浏览菜品 → 选择菜品及数量 → 填写送餐地址 → 提交订单 → 数据库记录核心代码(绑定菜品列表):vb' 绑定菜单表到DataGrid控件,展示菜品信息user id=sa;' 查询菜品名称、价格、口味Dim adpt1 As New SqlDataAdapter("select cdishid,vdishname 菜品名称,cdishrate 价格,vdishdescription 口味 from dish", conn)End Sub用户体验优化。

m0_67740236的博客 1517

LeetCode——1802. 有界数组中指定下标处的最大值(Maximum Value at a Given Index in a Bounded Array)[中等]——分析及代码(Java)

LeetCode——1802. 有界数组中指定下标处的最大值[Maximum Value at a Given Index in a Bounded Array][中等]——分析及代码[Java]一、题目二、分析及代码1. 二分法(1)思路(2)代码(3)结果2. 模拟法(1)思路(2)代码(3)结果三、其他 一、题目 给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是

江南土豆的博客 545

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

如何使用Qt的PIMPL习惯用法(PIMPL Idiom

PIMPL是指“Pointer to IMPLementation”(指向实现的指针),意味着将实现细节隐藏起来,用户类无需关注这些实现细节。在Qt中常用PIMPL习惯用法来清晰地区分接口与实现,尽管Qt官方文档并未详细说明该机制。本文将演示如何在Qt中使用PIMPL习惯用法,并以一个简单的坐标输入对话框作为实例。

电脑管家 1033

1802. 有界数组中指定下标处的最大值

并且两个相邻元素之差的绝对值小于等于1,那么从。,若还有位置能够放置数,则都放置为。, 我们需要判断当前x是否合法。这些数都满足条件,我们需要寻找。位置放置的数最大为多少,假设。,直接循环肯定不行,我们使用。为了使所有元素之和不超过。来寻找满足条件的最大x。对于满足条件的最大的。

Tizzi的博客 699

用面包板实测MOSFET:手把手教你测量跨导和开关时间

本文详细介绍了如何使用面包板、Arduino和示波器搭建测试平台,实测MOSFET的跨导和开关时间。通过分步测量流程和示波器技巧,帮助电子设计初学者深入理解MOSFET的动态特性,包括跨导计算、开关时间参数解析以及米勒平台现象分析。

beer8的博客 221

【leetcode】有界数组中指定下标处的最大值

leetcode 有界数组中指定下标处的最大值 二分查找

ZangWhe 350

深度测评:Accio Work——目前普通用户最友好的多 Agent 协同工具

摘要:Accio Work是阿里国际站推出的多Agent协同工具,通过借鉴古代"三省六部制"构建高效协作框架。该工具支持主流大模型,可配置专业Agent角色,实现40分钟内完成复杂产品PRD等高效协作。其亮点在于直观的UI设计和流程驱动机制,能强制各Agent从专业视角深度思考。虽然超长对话稳定性有待优化,但作为目前最用户友好的多Agent工具,显著降低了构建复杂AI团队的门槛,成为提升个人和小微企业生产力的利器。

Maynor的博客 1731

5大绝招破解.NET Core本地IP访问难题——为什么你的调试总卡在localhost?

摘要: 本文详解5种本地IP访问.NET Core应用的方法,涵盖基础IP绑定(0.0.0.0)、防火墙配置、IIS Express优化、远程调试及ngrok内网穿透。关键步骤包括修改launchSettings.json、PowerShell授权端口、SSH远程调试和ngrok外网映射,并提示常见陷阱(如未绑定IP、防火墙拦截)。通过“魔法法则”组合,可实现局域网/外网高效访问,适用于开发测试场景。 (字数:148)

java专栏 955

【Leecode1802】有界数组中指定下标处的最大值

根据题意,需要构造一个长度为 n 的数组 nums,所有元素均为正整数,元素之和不超过 maxSum,相邻元素之差不超过 1,且需要最大化 nums[index]。根据贪心的思想,可以使 nums[index] 成为数组最大的元素,并使其他元素尽可能小,即从 nums[index] 开始,往左和往右,下标每相差 1,元素值就减少 1,直到到达数组边界,或者减少到仅为 1 后保持为 1不变。abs(nums[i] - nums[i+1])

pp599620的博客 218

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

力扣1802.有界数组中指定下标处的最大值

【代码】力扣1802.有界数组中指定下标处的最大值。

Pisasama的博客 374

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Leetcode.1802 有界数组中指定下标处的最大值

Leetcode每日一题

感觉画质不如...原神的博客 229

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

力扣(LeetCode)1802. 有界数组中指定下标处的最大值(C++)

【墨染】贪心思路+二分优化枚举。

墨染 444

LeetCode 1802 有界数组中指定下标处的最大值

题目链接 给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0 <= i < n abs(nums[i] - nums[i+1]) <= 1 ,其中 0 <= i < n-1 nums 中所有元素之和不超过 maxSum nums[index] 的值被最大化 返回你所构造的数组中的 nums[index] 。 注意:abs

旺崽的博客 2789

Leetcode1802:有界数组中指定下标处的最大值

Leetcode1802:有界数组中指定下标处的最大值 题目: 给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0 <= i < n abs(nums[i] - nums[i+1]) <= 1 ,其中 0 <= i < n-1 nums 中所有元素之和不超过 maxSum nums[index] 的值被

immortalize的博客 283

​力扣解法汇总1802. 有界数组中指定下标处的最大值

​力扣解法汇总1802. 有界数组中指定下标处的最大值

分享+记录 467

力扣1802. 有界数组中指定下标处的最大值

力扣1802. 有界数组中指定下标处的最大值 二分答案+数学

2301_80219163的博客 209

【LeetCode】1802. 有界数组中指定下标处的最大值

DAY60,模拟 【中等】

weixin_43894455的博客 267

LeetCode 1802. 有界数组中指定下标处的最大值(C++)

给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0

Panbk的博客 691

LeetCode·每日一题·1802.有界数组中指定下标处的最大值·贪心

贪心+二分

m0_64560763的博客 191

Leetcode 1802: 有界数组中指定下标处的最大值 Maximum Value at a Given Index in a Bounded Array

中文描述: 给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0 <= i < n abs(nums[i] - nums[i+1]) <= 1 ,其中 0 <= i < n-1 nums 中所有元素之和不超过 maxSum nums[index] 的值被 最大化 返回你所构造的数组中的 nums[index] 。 注意:ab

weixin_43946031的博客 398

LeetCode 1802. 有界数组中指定下标处的最大值(思维题)

文章目录1. 题目2. 解题 1. 题目 给你三个正整数 n、index 和 maxSum 。 你需要构造一个同时满足下述所有条件的数组 nums(下标 从 0 开始 计数): nums.length == n nums[i] 是 正整数 ,其中 0 <= i < n abs(nums[i] - nums[i+1]) <= 1 ,其中 0 <= i < n-1 nums 中所有元素之和不超过 maxSum nums[index] 的值被 最大化 返回你所构造的数组中的 nu

Michael是个半路程序员 674

leetcode 1802. 有界数组中指定下标处的最大值

解释:数组 [1,1,2,1] 和 [1,2,2,1] 满足所有条件。abs(nums[i] - nums[i+1])

烧烤团子 333

leetcode.1802 有界数组中指定下标处的最大值 - 二分 + 数学

二分查找答案

weixin_61639349的博客 161
上一篇: 用JAVA写一个画图小程序(JAVA 大作业)
下一篇: Java中的Map
天皓Oo
博客等级 码龄5年 337粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值