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

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一

0
分享至

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k,

定义数组的"能量"为所有和为 k 的子序列的数量之和。

请计算 nums 数组中所有子序列的能量和,并对结果取模 10^9 + 7 后返回。

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

输出: 6。

解释:

总共有 5 个能量不为 0 的子序列:

子序列 [1,2,3] 有 2 个和为 3 的子序列:[1,2,3] 和 [1,2,3] 。

子序列 [1,2,3] 有 1 个和为 3 的子序列:[1,2,3] 。

子序列 [1,2,3] 有 1 个和为 3 的子序列:[1,2,3] 。

子序列 [1,2,3] 有 1 个和为 3 的子序列:[1,2,3] 。

子序列 [1,2,3] 有 1 个和为 3 的子序列:[1,2,3] 。

所以答案为 2 + 1 + 1 + 1 + 1 = 6 。

答案2024-09-25:

chatgpt

题目来自leetcode3082。

大体步骤如下:

1.定义一个数组用于记录不同和值下的子序列数量,数组长度为,初始时令表示和为 0 时只有空子序列存在。

f

k+1

f[0] = 1

2.遍历给定的整数数组中的每个元素,对于每个,从开始向前遍历到 0,更新的值:

nums

k

f[j]

  • •如果当前值,则更新。这表示新的和为的子序列数量是原来和为的子序列数量的两倍加上和为的子序列数量。
  • j >= x
  • f[j] = (f[j]*2 + f[j-x]) % mod
  • j
  • j
  • j-x
  • •如果当前值,则更新。这表示由于当前的无法和当前的相加得到新的和值,因此只能将和为的子序列数量乘以 2。
  • j < x
  • f[j] = f[j] * 2 % mod
  • j
  • j

3.最终返回,即所有和为的子序列的数量之和。

f[k]

k

总体的时间复杂度是 O(n * k),其中 n 是的长度,k 是给定的正整数。

nums

空间复杂度为 O(k)。

Go完整代码如下:

packagemain
import(
"fmt"
)
funcsumOfPower(nums[]int,kint)int{
constmod=1_000_000_007
f:=make([]int,k+1)
f[0]=1
for_,x:=rangenums{
forj:=k;j>=0;j--{
ifj>=x{
f[j]=(f[j]*2+f[j-x])%mod
}else{
f[j]=f[j]*2%mod
}
}
}
returnf[k]
}
funcmain(){
nums:=[]int{1,2,3}
k:=3
fmt.Println(sumOfPower(nums,k))
}

Rust完整代码如下:

constMOD:i64=1_000_000_007;
fnsum_of_power(nums:Vec,k:i32)->i64{
letk=kasusize;
letmutf=vec![0;k+1];
f[0]=1;
for&xinnums.iter(){
forjin(0..=k).rev(){
ifj>=xasusize{
f[j]=(f[j]*2+f[j-xasusize])%MOD;
}else{
f[j]=f[j]*2%MOD;
}
}
}
f[k]
}
fnmain(){
letnums=vec![1,2,3];
letk=3;
println!("{}",sum_of_power(nums,k));
}

声明:个人原创,仅供参考

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

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.

相关推荐
热点推荐
全国两会后首“虎”任上落马

全国两会后首“虎”任上落马

中国新闻周刊
2026-03-18 12:23:15
又一五星级酒店撑不住!拖欠租金高达3000万,老板:在给房东打工

又一五星级酒店撑不住!拖欠租金高达3000万,老板:在给房东打工

毒sir财经
2026-03-17 21:23:43
首款进口乙肝治愈新药,最快年底上市

首款进口乙肝治愈新药,最快年底上市

药圈观察局
2026-03-18 15:08:35
三名军工院士被除名,为何老百姓却格外紧张?背后的逻辑不简单

三名军工院士被除名,为何老百姓却格外紧张?背后的逻辑不简单

李昕言温度空间
2026-03-18 20:54:31
周恩来晚年含泪揭秘,当年若非毛主席深夜提灯来,历史或将改写

周恩来晚年含泪揭秘,当年若非毛主席深夜提灯来,历史或将改写

鹤羽说个事
2026-03-18 21:47:42
炸锅!伊朗总统被逼辞职,革命卫队彻底夺权,以色列下了盘大棋

炸锅!伊朗总统被逼辞职,革命卫队彻底夺权,以色列下了盘大棋

老马拉车莫少装
2026-03-19 10:36:42
欧冠晋级夜:巴萨8-3纽卡 红军4-1 热刺5-7马竞 拜仁10-2亚特兰大

欧冠晋级夜:巴萨8-3纽卡 红军4-1 热刺5-7马竞 拜仁10-2亚特兰大

狍子歪解体坛
2026-03-19 06:08:55
卡塔尔多处能源设施再遭袭起火

卡塔尔多处能源设施再遭袭起火

每日经济新闻
2026-03-19 11:05:21
特朗普备好“鸿门宴”,高市早苗步步惊心 | 京酿馆

特朗普备好“鸿门宴”,高市早苗步步惊心 | 京酿馆

新京报评论
2026-03-19 12:34:14
油价大涨超1.44元/升,92号汽油涨到“9元时代”,3月23日调整

油价大涨超1.44元/升,92号汽油涨到“9元时代”,3月23日调整

油价早知道
2026-03-19 09:32:57
2020年女子当众扇儿子耳光,儿子直接跳楼,如今女子已自杀身亡

2020年女子当众扇儿子耳光,儿子直接跳楼,如今女子已自杀身亡

观察鉴娱
2026-03-18 09:09:10
惨遭双杀!东契奇轰40+10,杜兰特沮丧发声,但火箭结局已注定了

惨遭双杀!东契奇轰40+10,杜兰特沮丧发声,但火箭结局已注定了

巴叔GO聊体育
2026-03-19 14:54:35
医生建议中午用晒太阳代替午休 不仅补钙还能助眠

医生建议中午用晒太阳代替午休 不仅补钙还能助眠

快科技
2026-03-19 00:05:07
瞿颖回应已婚!54岁坦然认爱,不领证不办婚礼,活成人间清醒

瞿颖回应已婚!54岁坦然认爱,不领证不办婚礼,活成人间清醒

车窗起雾q
2026-03-19 09:37:11
“2026大批普通医生,都快撑不住了”

“2026大批普通医生,都快撑不住了”

华庭讲美食
2026-03-18 05:09:32
特朗普傻眼了!美军神话,彻底崩了!

特朗普傻眼了!美军神话,彻底崩了!

大嘴说天下
2026-03-18 22:30:03
拉里贾尼被“斩首”,细节披露

拉里贾尼被“斩首”,细节披露

中国新闻周刊
2026-03-18 13:59:13
“龙抬头4不吃,一年不惹祸”,4不吃指啥?尊重传统,免得闹笑话

“龙抬头4不吃,一年不惹祸”,4不吃指啥?尊重传统,免得闹笑话

小茉莉美食记
2026-03-19 01:30:03
如今女人偷情为何不开房了,而是会选择这些地方?

如今女人偷情为何不开房了,而是会选择这些地方?

思絮
2026-03-19 12:24:12
图穷匕见,川普放出终极大招?

图穷匕见,川普放出终极大招?

西楼饮月
2026-03-19 13:39:21
2026-03-19 15:12:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1154文章数 59关注度
往期回顾 全部

科技要闻

腾讯电话会 : 马化腾首谈养虾构想

头条要闻

媒体:美以伊战争迅速升级至"最危急时刻" 特朗普警告

头条要闻

媒体:美以伊战争迅速升级至"最危急时刻" 特朗普警告

体育要闻

他们专卖“老头鞋”,却能签下19岁NBA未来门面?

娱乐要闻

戴军55岁再翻红!与何炅传闻意难平

财经要闻

断油危机,冲击亚洲?

汽车要闻

不到10万还有激光雷达 零跑A10体验超预期

态度原创

数码
本地
手机
公开课
军事航空

数码要闻

金河田推出“平行世界M版”海景房机箱,黑白双色均为359元

本地新闻

春色满城关不住|绍兴春日顶流,这片樱花海藏不住了

手机要闻

小米要霸屏、荣耀获大奖、vivo定档、OPPO预告

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美国防部因打伊朗要求加2000亿预算

无障碍浏览 进入关怀版