开会的土拨鼠 level
获赞
4
粉丝
5
关注
0
看过 TA
86
南京信息工程大学
2025
Java
IP属地:江苏
暂未填写个人简介
私信
关注
一条路上依次排列着N个七色豆,七种颜色分别用字符abcdefg表示。一条机器小人沿着这条路往前捡豆豆,机器小人会按下发给它的指令串进行动作:指令串由abcdefg*这八个字符组成。其中abcdefg是豆豆的颜色,表示机器小人接下来可以捡一粒该颜色的豆豆。如果指令串接下来出现"*这个字符,表示机器小人可以重复前一个动作任意多次(包括0次)。如果指令串执行结束,或者遇到当前指令不能匹配的豆豆,机器小人停止前进。求机器小人最多可以捡到多少个豆豆。输入描述:第一行输入一个字符串,为N个豆豆的颜色,长度N不超过1000第二行输入一个字符串,为机器小人的指令串S,S长度不超过1000输出描述:第一行输入一个字符串,为N个豆豆的颜色,长度N不超过1000第二行输入一个字符串,为机器小人的指令串S,S长度不超过1000补充说明:整数值,表示机器小人最多可以捡到多少个豆豆示例:输入:abbbbcdefgab*c*d输出:7在一个神秘的森林中,住着一群聪明的小动物。每只小动物都有一个独特的魔法数字。一天,森林中的智者决定进行一次特殊的仪式,需要小动物们按顺序站好,从中挑出不少于一只小动物站成一队,现在需要从这个队伍中挑选出来一些小动物,实现挑出的小动物的魔法数字之和是最大的,要求挑选出来的小动物不能改变其在原始队伍中的相对位置,并且挑选出来的小动物在原队伍中的位置间隔不能小于k。输入描述:第一行包含两个整数n和k,表示小动物的数量和最小位置间隔。数组长度n的范围是[1,100000],最小距离k的范围是[1,n]第二行包含j个整数,表示每只小动物的魔法数字。每个魔法数字的取值范围是[-10000.10000]输出描述:输出一个整数,表示满足条件的最大和。示例 1:输入:5 23 2 5 10 7输出:15说明:共有5个小动物,要求挑选出的小动物在原始队伍中的位置间隔不能小于2,当前五个小动物站成一队后,魔法数组分别为3 2 5 10 7,按照要求得到的最大的值为15,其挑选出的队伍为3 5 7请使用Golang实现肖林在大学毕业后,计划安排一次愉快的旅游,所以提前对想去的旅游景点进行了量化评估,方便挑选出最优的旅游路线。评估维度分为三个属性,分别为m、n和(x,y),其中m代表疲劳值,n代表兴奋值,(x,y):代表景点位置。家所在位置为(0,0)。并且从旅游景点(x1,y1)到旅游景点(x2,y2),会产生一定的疲劳值,其疲劳值为|x1-x2|+|y1-y2|。选择k个旅游景点,计算最终的疲劳值cm和兴奋值cn,而cn/cm则代表本次旅游的舒适值,舒适值最高的旅游路线,即表示为最优的旅游路线。cm代表所有旅游景点的疲劳值之和,再加上路上所产生的疲劳值。cn代表所有旅游景点的兴奋值之和。现在有t个旅游景点,肖林准备选择k个景区进行游玩,旅游路线需从家里出发,经过k个景区并最终回到家里。请为肖林规划好最优的旅游路线。输入描述:第一行输入t k,空格分割,分别代表旅游景点总数和计划游玩的旅游景点个数。0<k<=t。第二行到第t+1行输入m n (x y),空格分割,代表每个旅游景点的属性。输出描述:舒适值(保留6位小数点),表示最优旅游路线的舒适值。示例:输入:3 26 20 (10 15)-5 10 (30 27)-15 10 (20 25)输出:0.370370说明:最优旅游路线为:(0,0)->(10,15)->(20,25)->(0,0)或者(0.0)->(20,25)->{10,15)->(0,0)计算出cm=81,cn=30,最终计算的值为0.370370微隔离产品有个流量可视的模块,流量可视会图形化展示服务器之间的所有访问关系,其中访问关系需要匹配***策略以让用户观测该流量是否被放行or拒绝,拒绝的原因是匹配到了某一条***策略。请你设计一个算法来快速完成访问关系的策略匹配。流量数据和***策略均为五元组(src_ip,src_port,dst_ip,dst_port,protocol)流量五元组示例和格式说明src_ip:字符串,仅支持ipv4格式。如:1.1.1.1src_port:整数,1-65535。如:222dst_ip:字符串,仅支持ipv4格式。如:1.1.1.1dst_port:整数,1-65535。如:111protocol:整数:仅支持tcp:17,icmp:1,udp:6***规则示例和格式说明src_ip:字符串,支持ip段/单个ip/任意IP。如:1.1.1.1,1.1.1.1-1.1.10.1,0.0.0.0src_port:字符串,支持端口范围/单个端口/任意端口。如:80,80-90,0dst_ip:字符串,支持ip段/单个ip/任意IP。如:1.1.1.1,1.1.1.1-1.1.10.1,0.0.0.0dst_port:字符串,支持端口范围/单个端口/任意端口。如80,80-90,0protocol:整数,支持17/6/1/0(tcp:17,udp:6,icmp:1,ALL:0)有n颗珍珠,编号0~n-1,它们中间有细线连接,每颗珍珠至多与其他3颗珍珠连接,且不形成环路,所有珍珠都连接在一起。对于每颗珍珠,他们的重要度定义如下:假设去掉编号为k的珍珠,那么剩下的珍珠按照连接关系会分裂成1-3组,每组的珍珠数量的乘积即为k号珍珠的重要度。求:具有最高重要度的珍珠有几颗?输入描述:第一行输入n,下面n行输入编号0~n-1的珍珠的邻接珍珠,第一个数代表邻居的数量k,后面跟k个数代表邻居编号,为了避免重复数据,只输入编号比自己编号大的邻居。示例:51 11 22 3 400上面的数据代表:0号连接着1;1号连接着2;2号连接着1,3,4,因为1比2小,之前的数据里包含了这个连接关系,所以只输入3,4;3号连接着2,因为2比3小,3没有与其他编号比它大的数连接,所以输入0;4号连接着2,因为2比4小,4没有与其他编号比它大的数连接,所以输入0;输出描述:一个整数,代表具有最高重要度的珍珠的数量对于刚刚输入的例子,输出为3解释:节点0的分数是4节点1的分数是1*3=3节点2的分数是1*1*2=2节点3的分数是4节点4的分数是4最高得分为4,有3个节点得分为4,输出3示例1输入:51 11 22 3 400输出3请使用Golang实现该算法小红和小紫正在玩一个游戏,每一关都有一个分数。如果某人某一关分数比上一关高,但另一个人这一关分数比上一关低,那么他就可以嘲笑对方。如果两个人这一关游戏的分数都比上一关多,则增量更多的可以嘲笑对方;如果两个人这一关游戏的分数都比上一关少,则减量更少的可以嘲笑对方。只有当他们的增量相同或者减量相同时,才不会互相嘲笑。例如,假设小红第一关的分数为5,第二关的分数为10;小紫第一关的分数为2,第二关的分数为8,显然小红增加的比小紫多,那么小红就可以嘲笑小紫。现在给定了小红和小紫每一关的分数,你可以选择一段连续的关卡,使得这一段关卡中两个人都不会互相嘲笑,问最多可以选择多少个关卡。特别的,一段连续关卡中的第一关两人不会互相嘲笑。输入描述:第一行输入一个正整数几,代表关卡数。第二行输入n个整数ai;,代表小红每一关的分数。第三行输入n个整数bi;,代表小紫每一关的分数。2 ≤n< 10^5-10^9≤ ai,bi≤ 10^9输出描述:输出可以选择最多的关卡数。示例 1:输入:51 2 3 1 3-1 0 3 -1 1输出:2说明:可以选择前两个数,[1,2]和[-1,0]相似,长度为2。选择后两个数也是可以的。对于一个仅由左括号'('和右括号')'组成的字符串,小红想知道它的最长合法前缀的长度是多少。对于某一个前缀,我们定义它是合法的,当且仅当该前缀满足以下条件:存在一种拆分方案,可以将该前缀拆分为若干对匹配的括号'()'如'(),'()()','(())'都是合法的,而')()(','))'是非法的。特殊的,空串我们认为也是合法的。输入描述:第一行输入一个整数n,表示字符串的长度。接下来一行输入一个长度为n的,仅由'('和')'组成的字符串1 ≤n≤ 10^5输出描述:输出一个整数,表示最长的合法前缀长度。示例1输入5(()))输出4说明可以证明前缀(())是最长且合法的前缀
投递腾讯等公司10个岗位
0 点赞 评论 收藏
分享
请你基于golang实现以下算法:小歪有一个数字n,但是他依旧不满足,他想要让自己的数字变得更多!对于他已有的整数n,如果存在另一个整数x使得其全部数位的和加上它自己恰好为n,那么这个数字就是“可爱数字",连一条从n到x的双向边对于连接而成的图,直接输出两个数字之间至少需要经过几条边,或报告这两个点不连通。输入描述:在一行上输入三个整数n,u,v(1≤n≤10^6 ;1≤u,u≤n; u≠v)代表小歪的初始数字和询问的两点。输出描述:如果可以从数字点 u 到达数字点v,在一行上输出一个整数,代表最短需要经过的边数;否则,直接输出 NO示例:输入:13 5 13输出:3请你基于Golang实现以下代码:机器人侵入了宝可梦世界,为躲避机器人攻击,宝可梦奋力奔跑。逃脱道路长度为 len(len>2),初始机器人位于1、宝可梦位于k(k>1),当宝可梦移动到 len 时视为逃脱成功。现在一共有n个障碍物位于道路上,宝可梦摧毁第i个障碍物需要花费ti个单位时间,并且宝可梦和机器人移动一格都需要1个单位时间。请你帮助宝可梦算出她能否逃脱成功。注:机器人具有超能力!摧毁障碍不需要时间!输入描述:每个测试文件均包含多组测试数据。第一行输入一个整数T(1≤T≤1000),代表数据组数,每组测试数据描述如下:第一行输入三个整数len,n,k(2<len<10^9;0<n<len-2; 1<k<len)代表道路长度、障碍物数量和宝可梦的初始位置。第二行输入n 个整数 a1,a1,......,an(1 < ai < len)表示第i个障碍物的位置。保证障碍物不生成在宝可梦的位置上,障碍物两两位置不重叠。第三行输入n 个整数 ti(1 ≤ti ≤ 10^6),表示摧毁第i个障碍物的时间。除此之外,保证所有的n之和不超过 10^5输出描述:对于每一组测试数据,如果宝可梦可以逃脱,在一行上输出“YES”否则输出“NO”示例1:输入:26 1 4536 1 452输出:NOYES小友需要采购一批货物,数量为k,一共有n家供应商可以选择,每家供应商可以提供0到max数量的货物。采购部门要求每次采购需要从三家供应商中选择,请计算有多少种供应商组合。说明:供应商的选择可以重复,若无法组合,则返回0。输入描述:输入一共有两行:第一行输入一个正整数n,一个正整数k,分别表示供应商数量和需采购货物数量;第二行输入n个正整数gi,表示每个供应商可以提供的货物数量。输出描述:输出供应商组合数量补充说明:3<=n<=30000<=gi<=Integer.MAX VALUE示例1:输入:6 30 9 10 11 12 9 6输出:3说明:n[0]+n[1]+n[2]=9+10+11=30n[0]+n[3]+n[4]-9+12+9=30n[1]+n[2]+n[5]=10+11+9=30一共有3种组合方式小友玩了一款打怪游戏,因为开了科技,所以小友可以直接秒杀怪物,同时获得这一关卡怪物的所有能量值。小友可以使用新获得的能量值进行跳关,能量值为最大的跳关数量,跳关后会清空所有能量。因为开了科技,导致有些关卡没有刷新怪物,会让小友在这一关内无法新获得能量,从而被困死在这一关。给你一个关卡序列,请你帮助小友可以顺利打到最后一个boss关卡,拿到通关奖励。输入描述:输入为一个关卡能量的序列,例如2 0 1 0 1,即表示第一个关卡能量值为2,小友可以选择跳一关到达第二关。但是第二关没有刷怪,导致小友被困死。小友也可以选择跳两关到达第三关,第三关能量值为1,小友只能跳一关到达第四关。第四关没有刷怪,小友被困死。最终,小友无法到达最后的boss关卡。输出描述:输出true或者false。true表示小友可以到达最后的boss关卡。false表示小友不可以到达最后的boss关卡。示例 1:输入:1 3 2 1 4输出:true说明:第一关获得一个能量,跳到第二关;第二关获得3个能量,跳到第五关,结束。示例2:输入:1输出:true示例3:输入:0 2 3 4 4输出:false说明:第一关没有刷怪,直接困死小友获得了一个超能力-- 点石成金:只要用手指点一下地面,以接触点为中心的正方形区域都会变成金子。但是该能力有一个限制:碰到墙壁或已经变成金子的地面时,本次点石成金的过程就会停止。小友每次使用点石成金的能力,都会消耗1单位能量。现在小友处在一个大小为n乘以m的矩形房间内,他想消耗最少的能量把整个房间的地面都变成金子,请问这个最小值是多少单位?补充说明:1.房间的边长都为整数,且1<=n, m<= 30;2.假设小友每次使用点石成金,都可以把一个正整数边长的区域变成金子。示例1:输入:3,2输出:3说明:1. 点击最右侧 2x2 区域的中心,该区域变成金子,2.分别点击剩余两个1x1区域的中心,所有区域都变成金子小明有一个长度为n,由前k个小写英文字母组成的字符串(保证n为偶数)。小亮想在小明睡觉的时候把这个字符串用小明的零花钱消除干净。小亮每次可以选择该串的两个相邻的字符删除,删除后将串拼上,并花掉小明一定数量的零花钱。若某一次删除的相邻两个字符从左到右分别是a和b,则将花掉小明cost(a,b)块钱。小亮希望他花掉的零花钱尽可能多,帮帮小亮。输入描述:第一行有两个整数n,k(1<=n<=500,1<=k<=26),分别代表小明的字符串长度与字符串中的字符种类数(保证n为偶数且串的内容仅由前k个小写英文字母组成)。接下来k行给出了一个k*k的由整数构成的矩阵。矩阵中第i行第j列的元素代表消除相邻的第i个字母和第j个字母所能花掉的钱数。最后一行有一个长度为n的字符串,代表小明的字符串。输出描述:输出一个值,代表小亮最多能花掉小明多少零花钱。样例输入:4 30 1 32 0 00 0 0abac样例输出:5
0 点赞 评论 收藏
分享
时间:2024.91、多多君最近在给多多字典中的单词进行排序,单词都是由大写的英文字母A。Z组成。一般的字典是按照字典序进行排序:从左到石逐一比较两个单词中字符,遇到某一位的字符更小的单词则排在前面,例如:A<B<BA<BAC<C。多多君想定义一种新的比较方式来给多多字典排序:1.包含"PDD"的单词要排在不包含"PDD"的单词的前面2. 同为包含"PDD"的单词、以及不包含"PDD"的单词之中,则还是按照字典序小的排在前面。多多君想知道,对于给定N个单词的多多词典,按照新的排序方式的前M个单词分别是什么。输入描述:第一行,两个整数N和M,分别表示总的单词数,以及要进行排序的前M个单词数。(1 <= N <= 1.000, 1 <= M <≡ N)接下来N行,每行分别表示一个单词(由大写英文字母组成,1<=单词长度<100)。输出描述:输出M行,按照新的比较方式,按顺序每行分别输出一个单词。输入:3 1ABCAPDDPDD输出:APDD说明:因为APDD和PDD均包括PDD,所以这两个单词要排在ABC前面。而在都包含PDD的单词之中,APDD的字典序小于PDD,因此根据新的排序方式可得APDD <PDD < ABC,即排在第一位的单词是:APDD2、多多得到了一个由n个整数 a1, a2,… an 构成的数组a,这n个整数的平均值表示为k(注意k可能不是一个整数)。多多想从数组a中删除两个数字,并使得剩下的n-2 个整数的平均值仍然等于K。多多现在需要你帮助计算出对于数组a,有多少组数字 [ai,aj](1<=i<j<= n) 删除后剩下整数的平均值等于原数组的平均值。输入描述:第一行包含一个整数t(1<=t<= 104),表示有t组测试数据,每组测试数据包含两行。第一行包含一个数字n(3<=n<=2*10^5),n表示数组中整数的个数,接下来第二行包含n个整数a1, a2,… an,其中对于任意1<=i<=n 都有 0 <= a¡<10^9,所有测试用例中n数值的和不会超过 2*10^5。输出描述:对于每组测试数据,分别输出一个整数:代表有多少组数字[ai,aj](1<=i<j<=n)使得删除这两个数字后剩余n-2个整数的平均值等于原数组a中n个整数的平均值输入:448 8 8 8350 20 1051 4 7 3 571 2 3 4 5 6 7输出:6023说明:第一组测试用例中,删除任意两个数字都满足要求,共有6种组合,第二组测试用例中,没有能满足要求的组合,第三组测试用例中,删除第1个和第3个数,或者删除第4个和第5个数字,共有2种组合,第四组测试用例中,删除第1个和第7个数字,或者删除第2个和第6个数字,或者删除第3个和第5个数字,共有3种组合。3、对于一个长度为n的整数序列 a1,a2,...a,是否存在等长的序列 b,b2.·.,bn,对于任意1≤i≤n存在1≤j,k≤n,使得ai=bj-bk输入描述:第一行一个整数t,表示测试用例的数量。(1<t< 10),对于每组测试用例:第一行是一个整数n,表示序列长度。(1≤n≤10),第二行是n个整数:a1,a2,···,an,以空格隔开(-10^6 < ai<10^6)。输出描述:对于每组测试用例,分别输出一行:如果存在满足条件的序列b1,b2,…,bn输出"yes",否则输出"no"。输入:1233 33输出:yes输入:31-7420 653-81 42 29输出:noyesno4、多多炸鸡店为了回馈老客,自动只换成一张免单敬量的汉堡积分,且每100个汉堡积分券,可以免费吃任意汉堡。免单券的有效期为3天,例如第1天获得免单券后,可以在第2、3、4天使用,到了第5天会自动过期失效,且使用免单券吃掉的汉堡不能获得汉堡积分多多君希望你能帮助他找到一个最省钱的吃汉堡计划:未来N天每天要吃一个汉堡的情况下最少要花多少钱。输入描述:第一行,一个整数T,表示测试用例的组数(1 <= T <= 10 ),对于每组测试用例:第一行,1个整数N,表示未来要吃汉堡的天数。(1<= N <= 1000),接下来N行,每行一个整数Pi,表示第i天多多君要购买的汉堡价格。(1<= Pi <= 50)输出描述:输出一行,一个整数,表示吃完所有汉堡的最小花费输入:13505040输出:100
投递拼多多集团-PDD等公司10个岗位
0 点赞 评论 收藏
分享
05-15 16:17
已编辑
南京信息工程大学 Java
时间:2024.101、在一个有限的储物箱中,您需要选择若干个科研项目进行投资。每个项目都有其所需的研究时间和潜在收益。您希望在限定的总研究时间内,选择一部分项目进行投资,以获得最大的总收益。输入描述:第一行输入两个正整数T和P,其中T表示可用的总研究时间,P表示项目的数量。两个整数以空格分隔,第二行输入 P 个正整数,表示每个项目的所需研究时间,这些整数之间用空格分隔。第三行输入 P个正整数,表示每个项目的潜在收益,这些整数之间用空格分隔(项目的所需时间和潜在收益一一对应)。输出描述:输出在给定总研究时间内,能够获得的最大总收益。输入:10 32 4 63 5 8输出:132、输入一个字符串(长度不超过80),对字符串进行如下处理:如果字符是大写字符,则用该字符对应的小写字符替换,如果字符是小写字符,则用该字符对应的大写字符替换,其他字符则保持不变,输出经过处理的字符串输入:abKY12输出:ABky123、给定一个字符串 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来源:牛客网
查看3道真题和解析 投递中国联通等公司10个岗位
0 点赞 评论 收藏
分享
时间:2024.101、游游以前命名代码,习惯是这样的:union_find, in_out, update_user, update_admin即变量中只使用小写字母以及下划线,两个单词用下划线相连。但是小牛老师教会了他大驼峰法,即每个单词以大写字母开头,并且没有下划线相连,比如将上述的四个变量改成大驼峰法便是:unionFind, InOut, UpdateUser, UpdateAdmin所以游游现在的首要任务就是将他以前的代码中的变量命名全都改成大驼峰法输入描述:第一行一个正整数T(1≤卫≤1000),表示一共有T组数据接下来T行,每行一个字符串s,表示游游原始的变量名输出描述:输出包含T行,每行一个宇符串s表示转化成大驼峰法命名的变量名输入:2now_coderacm_icpc输出:NowCodeAcmIcpc2、游游现在有八颗糖果。他有一个吃糖果的计划。具体是:如果剩余的糖果数量是素数,那么这天他会吃n/3+1颗。否则这天就吃n/2+1颗。问他的糖果可以吃几天。输入描述:输入一个整数n,表示游游的糖果数量。输出描述:输出一个整数,表示游游可以吃的天数输入:10输出:33、游游拿到了一个长度为n的数组a,请你在不改变元素原有顺序的情况下将其分成恰好m个非空子数组,对m个子数组分别计算数组内所有元素的最大公约数 (gcd)值,请问这m个非空子数组内部的gcd值之和的最大值是多少最大公约数 (gcd)指能够整除多个非零整数的最大正整数。分割指的是将数组分成若干个连续的子数组,每个元素都必须分到一个子数组中,且子数组之间不能有重叠部分,子数组的并集要能够完全覆盖整个数组输入描述:第一行两个整数表示n,m。第二行n个整数表示数组ai输出描述:一行表示答案输入:4 2输出:5 6 3 24、游游拿到了一个长度为 n 的数组a,下标从 1 开始,g次询问 (op,l,r)。op = 1,计算al& al+1|al+2&al+3|al+4...ar的值以&开始,交替&|op = 2,,计算al| al+1&al+2|al+3&al+4...ar的值以开始,交替|&例如:询问(1,3,9),计算a3& a4|a5&a6|a7&a8|a9询问(2,3,9),计算a3|a4&a5|a6&a7|a8&a9本题的&和|不区分优先级,从左往右计算输入描述:第一行包含两个整数n q,表示数组大小和询问个数。第二行包含n个整数ai,表示数组a接下来q行,每行包含三个整数op l r,表示询问。输出描述:输出包含q行,每行包含一个整数,分别表示每次询问结果。输入:5 21 2 3 4 51 2 32 2 4输出:20
投递携程等公司10个岗位
0 点赞 评论 收藏
分享
时间:2024.101、给定一个长度为n且仅由小写字母构成的字符串,字符串中的位置有两种类型:固定位和流动位• 对于一个固定位,该位置上的字符不会在操作中发生变化。• 对于一个流动位上的字符,它可能会发生变化。初始时所有位置都是流动位。位置标号从1开始。现在有4次操作,每次操作有下列两种可能:• 操作一:将第i位设置为固定位(不保证之原来是流动位)。• 操作二:将所有流动位的字符循环右移一格。不妨设流动位的下标为p1,p2, ..., pm,则该操作是将p1上的字符移动到p2;p2上的字符移动到p3;..;pm上的字符移动到p1。例如,若字符串为”abcdef”(其中第2,4位是固定位,使用下划线表示),则一次操作二后变为”fbadce”,再次进行操作二后变为”ebfdac”请输出一系列探作后最终得到的字符串输入描述:第一行输入两个整致n,q代表字符串长度和操作次数。第二行输入一个长度为n,且仅由小写字母构成的字符串s代表初始字符串。此后q行,每行先输入一个整数op代表操作次数,如果op=1,则再同一行上输入另一个整数u代表将第u位设为固定位;op=2表示一次移动操作。保证流动位至少存在一个输出描述:一个字符串表示经过操作后最终字符串2、小N是一名地铁职工,上级给他安排了一个奇怪的任务:从某个站出发,坐满k分钟(k最大取到m,m给定)地铁,然后回到出发站。这个城市的地铁系统也很神奇,一共有n 个车站,相邻两站之间的通勤总是耗时 1分钟,为了方便我们也不予考虑换乘等消耗的时间。一直坐地铁也不是件轻松事,每坐一站路就会积累特定量的疲劳值。小N 听说在去哪儿上搜索出行攻路会很方便,所以他经过查阅,发现对于相邻的a,b两站,他从a坐到b或从b坐到a 都会积累f(a,b)的疲劳值。现在小N想要知道,对于每一个出发站,从该站出发坐x分钟(x取遍[1,m]中的整数),再回到出发站,积累的疲劳值最少可以为多少输入描述:第一行输入两个整数n和m,代表车站数量和最长乘坐时间随后n行,第i行输入n个整数ai,1 , ..., ai,n,其中ai,j=-1表示车站i与车站j不相邻,否则其为f(i,j)输出描述:对于n行,每行输出m 个整数。第i行的第j个数表示从i站出发坐j 分钟坐地铁再回到i站积累的疲劳值的最小值。如果从i站坐j分钟无法回到i站,则输出-1示例:5 3-1 5 1 3 45 -1 4 4 31 4 -1 5 13 4 5 -1 54 3 1 5 -1输出:-1 2 6 -1 6 8 -1 2 6 -1 6 9 -1 2 6
查看2道真题和解析 投递去哪儿等公司10个岗位
0 点赞 评论 收藏
分享
时间: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
投递菜鸟集团等公司10个岗位
0 点赞 评论 收藏
分享
时间:2024.101、小A正在玩游戏,在游戏中一共有n个不同星球,星球间共有m条双向航道,小A的任务是摧毀这些星球。若有多个星球间两两可达,则我们称它们展于同一个联盟。特别的,若一个星球与其他星球都没有航道,则也称这个星球为一个联盟。小A将按照星球的编号从小到大依次推毀各个星球,当一个星球被摧毁后,与之相连的航道也将相继摧毁,现在小A想知道在每个星球被摧毁时,还剩下多少个联盟。不同星球间可能有多条航道,但每条航道连接的两个星球必然不同。上述题意可以被简化为,给定n个点,m条边的无向图,按照编号大小依次删除各个节点,请问在每个节点被删除时,还剩下多少个连通块。保证给定图无自环,但可能有重边。输入描述:第一行两个正整数n,m,表示星球数与航道数。接下来m行,每行2个正整数u, v表示两星球有一条航道输出描述:输出一行n个正整数,表示答案示例:输入:5 61 22 33 14 55 12 4输出:1 2 1 1 02、小明有一个含有n个数的序列a1,a2, ...,an,对这个序列进行Q次询问,每次询问的形式为l r m,表示他要找到一个非负整数k,使得0<=k<=m且al异或al+1异或...异或ar异或k最大,对于每次询问,小明想要知道al异或al+1异或...异或ar异或k最大値。输入描述:第一行输入两个正整数n,Q,分别表示序列中数的个数以及询向次数第二行输入n个非负整数a1,a2, ...,an第三行输入Q个正整数l1,l2, ...,lQ,表示每次询问对应的左端点第四行输入Q个正整数r1,r2, ...,rQ,表示每次询问对应的右端点第五行输入Q个非负整数m1,m2, ...,mQ,表示每次询问对应的k能选择的最大值输出描述:为了避免较大的输出量,你需要将所有询问得到的答案全部异或起来再输出,也就是仅输出一个非负整数示例:输入:5 62 0 3 6 52 1 34 3 53 1 0输出:6
查看2道真题和解析 投递滴滴等公司10个岗位
0 点赞 评论 收藏
分享
面试时间:2024-09-11面试时长:40分钟项目提问● 这个基于数据库乐观锁,如何实现?● 用户量变大之后,如何优化?● 这个Lua脚本如何写的?● 切换成Redis如何实现乐观锁?● 假设锁的超时时间设置成10s,一个线程正常执行1s,那要是一个任务执行11s,另一个线程拿锁会发生什么?● 往key加入线程id,那分布式环境下?Golang1. Channel底层实现a. 写等待队列已有goroutine,过来另一个写命令,如何?b. 数组有数据且写等待队列有goroutine,过来另一个读命令,如何?2. Mutex底层实现a. 介绍自旋?b. 介绍atomic包叭i. atomic包是如何实现的?ii. 具体什么硬件指令实现?手撕二叉树右视图func RightD(root *Tree) []int {    queue := []*Tree{}    front, rear := 0, 0    last := root    res := []int{}    queue = append(queue, root)    rear++    for front != rear {        node := queue[front]        front++        if node.Left != nil {            queue = append(queue, node.Left)            rear++        }        if node.Right != nil {            queue = append(queue, node.Right)            rear++        }        if node == last {            res = append(res, node.Data)            last = queue[rear-1]        }    }    return res}type Tree struct {    Data        int    Left, Right *Tree}�反问
沐瞳科技一面14人在聊 查看14道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务