中国联通软件研究院软开秋招笔试——算法真题

时间:2024.10

1、在一个有限的储物箱中,您需要选择若干个科研项目进行投资。每个项目都有其所需的研究时间和潜在收益。您希望在限定的总研究时间内,选择一部分项目进行投资,以获得最大的总收益。
输入描述:
第一行输入两个正整数T和P,其中T表示可用的总研究时间,P表示项目的数量。两个整数以空格分隔,第二行输入 P 个正整数,表示每个项目的所需研究时间,这些整数之间用空格分隔。
第三行输入 P个正整数,表示每个项目的潜在收益,这些整数之间用空格分隔(项目的所需时间和潜在收益一一对应)。
输出描述:输出在给定总研究时间内,能够获得的最大总收益。

输入:
10 3
2 4 6
3 5 8
输出:
13

2、输入一个字符串(长度不超过80),对字符串进行如下处理:如果字符是大写字符,则用该字符对应的小写字符替换,如果字符是小写字符,则用该字符对应的大写字符替换,其他字符则保持不变,输出经过处理的字符串

输入:
abKY12
输出:
ABky12

3、给定一个字符串 source 和一个待匹配的字符串 target,这两个字符串均只包含小写字母,并且不为空。需要在 source 中找到一个子字符串,该子字符串可以按序包含 target 的所有字符,但字符可以不连续。要求找出满足条件的最短子字符串,并返回其在 source 中的起止位置。若有多个结果,返回位置最小的那一个;若找不到符合要求的子串,则返回-1和-1。
输入描述:
多行输入,每行包含一个 source 和一个 target,用空格分隔。
输出描述:对每行输入,输出找到的最短子字符串的起始和结束位置(下标从0开始)。如果没有匹配子字符串,则返回 -1 -1

输入:
abcd bcd
输出:
1 3

作者:开会的土拨鼠
链接:https://www.nowcoder.com/feed/main/detail/a9c06a0f997140a4b4ff5eaa7d1f23b3?sourceSSR=users
来源:牛客网
全部评论

相关推荐

时间:2024.101、小红有九个能量石,可以使用一个 A 能量石和一个 B 能量石,造成x点伤害,也可以使用一个 B 能量石和一个 C 能量石,造成y点伤害。小红想知道,最多能造成多少伤害输入描述:第一行输入一个整数n,表示能量石的数量,第二行输入两个整数x,y,表示造成伤害的两种方式的伤害值,第三行输入一个长度为 n 的字符串 s,表示能量石的种类输出描述:输出一个整数,表示最多能造成的伤害示例:输入:512ABABC输出:32、小红有一个排列,她想让这个排列变成错排,她每次可以交换两个相邻的数,求最小的操作次数。排列的定义是:一个长度为n 的数组p,1到n 每个数正好出现一次。错排的定义是:不存在pi=i的排列输入描述:第一行输入一个整数n,表示数组长度,第二行输入 n 个整数表示排列a输出描述:输出一个整数表示答案示例:输入:32 1 3输出:13、小红有一些货物准备分拣,她想把这些货物分成两堆,使得其中一堆重量总和是另一堆重量总和的两倍。小红想知道有多少种分拣方案?由于答案可能过大,请对10^9+7取模输入描述:第一行输入一个正整数n,代表货物的数量,第二行输入n个正整数ai,代表每个货物的重量输出描述:一个整数,代表分拣的方案数,答案对10^9+7取模示例:输入:31 2 3输出:1
投递菜鸟集团等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务