网易首页 > 网易号 > 正文 申请入驻

2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始。初始时,

0
分享至

2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始。初始时,nums 中所有下标均未标记。

从第1秒到第m秒,每秒可以选择以下四种操作之一:

1.选择范围 [1, n] 中一个下标 i,将nums[i]减少1。

2.将nums[changeIndices[s]]设为任意非负整数。

3.选择范围 [1, n] 中一个下标 i,标记满足nums[i]为0的下标i。

4.不执行任何操作。

任务是找到最早的秒数(在范围 [1, m] 中),在这个秒数下执行最佳操作后,能够标记所有下标。如果无法标记所有下标,返回-1。

输入:nums = [3,2,3], changeIndices = [1,3,2,2,2,2,3]。

输出:6。

解释:这个例子中,我们总共有 7 秒。按照以下操作标记所有下标:

第 1 秒:将 nums[changeIndices[1]] 变为 0 。nums 变为 [0,2,3] 。

第 2 秒:将 nums[changeIndices[2]] 变为 0 。nums 变为 [0,2,0] 。

第 3 秒:将 nums[changeIndices[3]] 变为 0 。nums 变为 [0,0,0] 。

第 4 秒:标记下标 1 ,因为 nums[1] 等于 0 。

第 5 秒:标记下标 2 ,因为 nums[2] 等于 0 。

第 6 秒:标记下标 3 ,因为 nums[3] 等于 0 。

现在所有下标已被标记。

最早可以在第 6 秒标记所有下标。

所以答案是 6 。

答案2024-08-14:

chatgpt

题目来自leetcode3049。

大体步骤如下:

1.初始化总秒数为数组 nums 的长度 n,并遍历 nums 计算出总共需要的天数 total(慢速复习 + 考试)。

2.创建一个数组 firstT,用于记录每个索引对应的首次变化的时间(从 m 开始往前)。

3.初始化堆 h,并利用 sort.Search 函数找到最小的秒数 ans,使得满足能够标记所有下标。

4.在排序后的时间线上依次进行操作,首先检查是否需要继续慢速复习或考试,然后根据条件进行相应的操作,更新堆 h 并维护慢速复习天数以及快速复习(堆中的元素)。

5.如果所有下标被标记,则返回最早秒数 ans;否则返回 -1。

总的时间复杂度为 O(m log m)(sort.Search 的二分查找)+ O(m)(遍历整个时间线)= O(m log m)

总的额外空间复杂度为 O(m)(堆 h 的存储空间)。

go完整代码如下:

package main

import(
"container/heap"
"fmt"
"sort"
)

func earliestSecondToMarkIndices(nums, changeIndices []int)int{
    n, m :=len(nums),len(changeIndices)
if n > m {
return-1
}

    total := n
for _, v :=range nums {
        total += v // 慢速复习+考试所需天数
}

    firstT :=make([]int, n)
for t := m -1; t >=0; t--{
        firstT[changeIndices[t]-1]= t +1
}

    h := hp{}
    ans := n + sort.Search(m+1-n,func(mx int)bool{
        mx += n
        cnt, slow :=0, total
        h.IntSlice= h.IntSlice[:0]
for t := mx -1; t >=0; t--{
            i := changeIndices[t]-1
            v := nums[i]
if v <=1|| t != firstT[i]-1{
                cnt++// 留给左边,用来快速复习/考试
continue
}
if cnt ==0{
if h.Len()==0|| v <= h.IntSlice[0]{
                    cnt++// 留给左边,用来快速复习/考试
continue
}
                slow += heap.Pop(&h).(int)+1
                cnt +=2// 反悔:一天快速复习,一天考试
}
            slow -= v +1
            cnt--// 快速复习,然后消耗一天来考试
            heap.Push(&h, v)
}
return cnt >= slow // 剩余天数搞定慢速复习+考试
})
if ans > m {
return-1
}
return ans
}

type hp struct{ sort.IntSlice}

func (h *hp)Push(v any){ h.IntSlice=append(h.IntSlice, v.(int))}
func (h *hp)Pop() any   { a := h.IntSlice; v := a[len(a)-1]; h.IntSlice= a[:len(a)-1];return v }

func main(){
    nums :=[]int{3,2,3}
    changeIndices :=[]int{1,3,2,2,2,2,3}
    fmt.Println(earliestSecondToMarkIndices(nums, changeIndices))
}
在这里插入图片描述

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
乌克兰再次向俄罗斯发射10枚美制导弹,无视俄罗斯刚发出的核警告

乌克兰再次向俄罗斯发射10枚美制导弹,无视俄罗斯刚发出的核警告

粉红熊猫
2024-11-24 21:44:09
27集古装悬疑剧来了!张颂文、白百何领衔主演,央视这回又挖到宝

27集古装悬疑剧来了!张颂文、白百何领衔主演,央视这回又挖到宝

追影客栈
2024-11-24 08:13:24
朝鲜公开毛岸英牺牲真相:内容简短却很炸裂,真正凶手不是美国人

朝鲜公开毛岸英牺牲真相:内容简短却很炸裂,真正凶手不是美国人

南书房
2024-07-29 18:53:04
纪实:浙江女教师突然失踪6年,13岁儿子凭借一个梦找到母亲

纪实:浙江女教师突然失踪6年,13岁儿子凭借一个梦找到母亲

红豆讲堂
2024-10-25 09:45:59
美军还是低估了解放军,不许俄罗斯的“关键王牌”,送到中国手上

美军还是低估了解放军,不许俄罗斯的“关键王牌”,送到中国手上

湘评中外
2024-11-25 21:07:00
小米SUV最新外观渲染图来了 高端感拉满 雷军曾亲自测试

小米SUV最新外观渲染图来了 高端感拉满 雷军曾亲自测试

手机中国
2024-11-25 23:44:10
马斯克效率部工作计划纲要:我们不会只写报告或剪彩,我们要剪掉的是成本

马斯克效率部工作计划纲要:我们不会只写报告或剪彩,我们要剪掉的是成本

问问马斯克AskMusk
2024-11-26 00:15:45
新款Model Y最新谍照曝光:造型简洁,内饰配置升级,值得等?

新款Model Y最新谍照曝光:造型简洁,内饰配置升级,值得等?

车壹圈
2024-11-25 16:18:42
Scout再次违规跳槽JDG,或将被LNG起诉,JKL:明年Solo决定选边权

Scout再次违规跳槽JDG,或将被LNG起诉,JKL:明年Solo决定选边权

风尘Game
2024-11-25 10:02:28
丰田官方松口承认Celica复活回归!将搭2.0T马力至少400匹引擎

丰田官方松口承认Celica复活回归!将搭2.0T马力至少400匹引擎

MOTO
2024-11-25 11:49:11
抛妻弃子,逼原配自尽,成名后甩了原配的3位男星,一个比一个绝

抛妻弃子,逼原配自尽,成名后甩了原配的3位男星,一个比一个绝

柴叔带你看电影
2024-11-25 00:45:56
王楚钦不打11:0以德服人,做人留一线赢得张本智和尊重,主动低头

王楚钦不打11:0以德服人,做人留一线赢得张本智和尊重,主动低头

嘴炮体坛
2024-11-25 11:54:25
“四子王旗警察枪击案”重审明日开庭

“四子王旗警察枪击案”重审明日开庭

红星新闻
2024-11-25 20:16:13
大家一起吹吹牛,只有中国当真了。美国画个饼,中国说味道不错

大家一起吹吹牛,只有中国当真了。美国画个饼,中国说味道不错

猫小狸同学
2024-11-12 16:15:03
伊万卡面相变了:脸颊消瘦眼神发狠,再不是丰润甜美的“水蜜桃”

伊万卡面相变了:脸颊消瘦眼神发狠,再不是丰润甜美的“水蜜桃”

毒舌小红帽
2024-11-24 20:33:53
消息称一汽丰田拟将销售总部从北京迁往天津

消息称一汽丰田拟将销售总部从北京迁往天津

IT之家
2024-11-25 22:50:06
重庆楼市全军覆没,重庆渝北区房价跌了1000,江北区房价跌了2000

重庆楼市全军覆没,重庆渝北区房价跌了1000,江北区房价跌了2000

有事问彭叔
2024-11-25 22:40:35
美国不愧是中国的好老师!三年了,立陶宛终于乖乖认错了

美国不愧是中国的好老师!三年了,立陶宛终于乖乖认错了

老妖的针见
2024-11-26 02:10:03
湖北的这份通报,爆出冰山一角

湖北的这份通报,爆出冰山一角

觉叔说
2024-11-25 20:26:49
内蒙古一彩票店赠送顾客的彩票中奖1000万元,双方为钱该归谁争执不下,眼看兑奖日期临近……

内蒙古一彩票店赠送顾客的彩票中奖1000万元,双方为钱该归谁争执不下,眼看兑奖日期临近……

环球网资讯
2024-11-25 17:40:15
2024-11-26 04:23:00
moonfdd
moonfdd
福大大架构师每日一题
548文章数 15关注度
往期回顾 全部

科技要闻

特斯拉又降价,知情人士:冲刺今年销售目标

头条要闻

挪威史上最大规模性丑闻 妇科医生20年强奸87名患者

头条要闻

挪威史上最大规模性丑闻 妇科医生20年强奸87名患者

体育要闻

杨瀚森这态度,是打不了NBA的...

娱乐要闻

爆料郑雨盛和女模特,女方非正常怀孕

财经要闻

刘煜辉最新演讲全文:蛇的策略

汽车要闻

特斯拉限时优惠:Model Y仅23.99万起 还能5年0息

态度原创

家居
健康
手机
数码
公开课

家居要闻

素韵留白 极简空间的空灵之境

花18万治疗阿尔茨海默病,值不值?

手机要闻

OPPO Reno13系列发布:2699元起 实况照片新增EIS防抖

数码要闻

雷神银翼 F60 投影仪 1499 元首销,支持 800CVIA 亮度

公开课

一块玻璃,如何改变人类世界?

无障碍浏览 进入关怀版