DK算法小炒Jurioo

1.【寻找身高相近的小朋友】【寻找身高相近的小朋友】小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。

输入描述:

第一行为正整数H和N,0

输出描述:

输出排序结果,各正整数以空格分割。和小明身高差绝对值最小的小朋友排在前面,和小明身高差绝对值最大的小朋友排在最后,如果两个小朋友和小明身高差一样,则个子较小的小朋友排在前面。

示例1:

输入

10010

9596979899101102103104105

输出

9910198102971039610495105

2.【火星文计算】【火星文计算】已知火星人使用的运算符为#、$,其与地球人的等价公式如下:

x#y=2x+3y+4

x$y=3*x+y+2

其中x、y是无符号整数地球人公式按C语言规则计算火星人公式中,$的优先级高于#,相同的运算符,按从左到右的顺序计算现有一段火星人的字符串报文,请你来翻译并计算结果。输入描述:

火星人字符串表达式(结尾不带回车换行)**输入的字符串说明:**

字符串为仅由无符号整数和操作符(#、$)

组成的计算表达式。例如:123#45#6778

用例保证字符串中,操作数与操作符之间没有任何分隔符。用例保证操作数取值范围为32位无符号整数。保证输入以及计算结果不会出现整型溢出。保证输入的字符串为合法的求值报文,例如:123#45#6778保证不会出现非法的求值报文,例如类似这样字符串:#4$5//缺少操作数4$5#//缺少操作数4#$5//缺少操作数4$5//有空格3+4-5*6/7//有其它操作符12345678987654321$54321//32位整数计算溢出输出描述:

根据输入的火星人字符串输出计算结果(结尾不带回车换行)

示例

输入:

7#6$5#12输出:

226说明:

7#6$5#12=7#(3*6+5+2)#12=7#25#12=(2*7+3*25+4)#12=93#12=2*93+3*12+4=226

·“aiur”不是元音字符串(结尾不是元音字符)

·“abira”是元音字符串,其瑕疵度为2

给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0。

子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。

收起输入描述:首行输入是一个整数,表示预期的瑕疵度flaw,取值范围[0,65535]。接下来一行是一个仅由字符a-z和A-Z组成的字符串,字符串长度(0,65535]。输出描述:输出为一个整数,代表满足条件的元音字符子串的长度。

示例1输入0asdbuiodevauufgh输出3说明满足条件的最长元音字符子串有两个,分别为uio和auu,长度为3。

示例2输入2aeueo输出0说明没有满足条件的元音字符子串,输出0示例3输入1aabeebuu输出5说明满足条件的最长元音字符子串有两个,分别为aabee和eebuu,长度为5

4.【消消乐游戏】【消消乐游戏】游戏规则:输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。

在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。

输出最终得到的字符串长度。

5.【判断字符串子序列】【判断字符串子序列】给定字符串target和source,判断target是否为source的子序列。你可以认为target和source中仅包含英文小写字母,字符串source可能会很长,长度~=500,000,而target是个短字符串,长度<=100。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串,例如,'abc’是’aebycd’的一个子序列,而’ayb’不是。请找出最后一个序列的起始位置。示例输入:abcabcaybec示例输出:3因为aybec中的abc的a在整个字符串的位置索引是3

6.【整数对最小和】【整数对最小和】给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。注意:两对元素如果对应于array1、array2中两个下标均相同,则视为同一对元素。

输入描述输入两行数组array1、array2,每行首个数字为数组大小size(0

输出描述满足要求的最小和

示例1

示例1输入00101010101100001010010输出01010备注:输入信号串中有三个信号:0010101010110(第一个信号段)0001010(第二个信号段)010(第三个信号段)第一个信号虽然有交替的方波信号段,但出现了11部分的连续高位,不算完全连续交替方波,在剩下的连续方波信号串中01010最长9.【数组拼接】现在有多组整数数组需要将他们合并成一个新的数组合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组,取完的内容会删除掉,如果改行不足固定长度,或者已经为空,则直接取出剩余部分的内容放到新的数组中继续下一行

输入描述第一行每次读取的固定长度长度0

输出描述输出一个新的数组,用逗号分割

示例1输入322,5,6,7,9,5,71,7,4,3,4输出2,5,6,1,7,4,7,9,5,3,4,7

说明获得长度3和数组数目2先遍历第一行获得2,5,6再遍历第二行获得1,7,4再循环回到第一行获得7,9,5再遍历第二行获得3,4再回到第一行获得7

示例2输入431,2,3,4,5,61,2,31,2,3,4输出1,2,3,4,1,2,3,1,2,3,4,5,6

10.【停车场车辆统计】题目描述:特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3)。统计停车场最少可以停多少辆车,返回具体的数目。输入描述:整型字符串数组cars[],其中1表示有车,0表示没车,数组长度小于1000。

输出描述:整型数字字符串,表示最少停车数目。

输入1,0,1输出2说明1个小车占第1个车位第二个车位空1个小车占第3个车位最少有两辆车示例2:

输入1,1,0,0,1,1,1,0,1输出3说明1个货车占第1、2个车位第3、4个车位空1个卡车占第5、6、7个车位第8个车位空1个小车占第9个车位最少3辆车

给定一个随机的整数(可能存在正整数和负整数)数组nums,请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值,并返回这个两个数(按从小到大返回)以及绝对值。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

输入描述:

一个通过空格分割的有序整数序列字符串,最多1000个整数,且整数数值范围是[-65535,65535]。

输出描述:

两数之和绝对值最小值示例1

-1-3751115

-352

说明

因为|nums[0]+nums[2]|=|-3+5|=2最小,所以返回-352

12.【最大括号深度】现有一字符串仅由(,),{,},[,]六种括号组成。若字符串满足以下条件之一,则为无效字符串:1、任一类型的左右括号数量不相等;2、存在未按正确顺序(先左后右)闭合的括号。

输出括号的最大嵌套深度,若字符串无效则输出0.0<=字符串长度<=100000

输入描述:一个只包(,),{,},[,]的字符串。

输出描述:一个整数,最大括号深度

示例1:输入:[]输出:1

13.【打印任务排序】题目描述某个打印机根据打印队列执行打印任务。打印任务分为九个优先级,分别采用数字1~9表示,数字越大优先级越高。打印机每次从队列头部取出第一个任务A,然后检查队列余下任务中有没有比A优先级更高的任务,如果有比A优先级高的任务,则将任务A放到队列尾部,否则执行任务A的打印。请编写一个程序,根据输入的打印队列,输出实际打印顺序。

输入描述函数原型:voidprintOrder(constintinput[],intlen,intoutput[])参数input表示打印队列,为1~9(优先级)组成的数组,数组索引0代表头部。对于C/C++参数len代表input数组长度,假定参数合法有效;

14.【单词接龙】题目描述:

单词接龙的规则是:

用于接龙的单词首字母必须要前一个单词的尾字母相同;当存在多个首字母相同的单词时,取长度最长的单词,如果长度也相等,则取字典序最小的单词;已经参与接龙的单词不能重复使用。现给定一组全部由小写字母组成单词数组,并指定其中的一个单词作为起始单词,进行单词接龙。

请输出最长的单词串,单词串是单词拼接而成,中间没有空格。

输入的第一行为一个非负整数,表示起始单词在数组中的索引K,0<=K

输出一个字符串,表示最终拼接的单词串。备注:

单词个数N的取值范围为[1,20]单个单词的长度的取值范围为[1,30]

15.【数组去重和排序】题目描述:给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。

输入描述:一个数组

输出描述:去重排序后的数组

示例1:输入1,3,3,3,2,4,4,4,51输出3,4,1,2,51备注数组大小不超过100数组元素值大小不超过100

16.【找最小数】题目描述:

给一个正整数num1,计算出新正整数num2,num2为num1中移除N位数字后的结果,需要使得num2的值最小输入:1.输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数num1,num1长度小于322.输入的第二行为需要移除的数字的个数,小于num1长度示例

101输出0102001输出20026153714输出131

17.【按身高和体重排队】题目描述:

某学校举行运动会,学生们按编号(1、2、3…n)进行标识现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列,对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号输入描述:

两个序列,每个序列由N个正整数组成,(0

排列结果,每个数值都是原始序列中的学生编号,编号从1开始,身高从低到高,身高相同体重从轻到重,体重相同维持原来顺序。示例:

410010012013040306050输出:

2134输入:

39011090456045输出:

132

18.【勾股数元组】题目描述:

如果三个正整数ABC,A2+B2=C2则为勾股数如果ABC之间两两互质,即A与BA与CB与C均互质没有公约数,则称其为勾股数元组。请求出给定nm范围内所有的勾股数元组输入描述起始范围1

案例1输入120输出3455121381517

案例2:输入510输出Na

19.【乱序整数序列两数之和绝对值最小】题目描述:

两数之和绝对值最小值

21.【数据分类】对一个数据a进行分类,分类方法为:此数据a(四个字节大小)的四个字节相加%一个给定的值b,如果得到的结果小于一个给定的值c,则此结果即为数据a的类型;如果得到的结果大于或者等于c,则此结果无效即为数据a的类型无效。比如一个数据a=0x01010101,b=3,按照分类方法计算(0x01+0x01+0x01+0x01)%3=1,所以如果c=2,则此a的类型是1,如果c=1,则此a的类型是无效。输入12个数据,第一个数据为c,第二个数据为b,剩余10个数据为需要分类的数据a。计算数据最多的类型(有效类型)有多少个数据。输入描述:输入12个数据,第一个数据为c,第二个数据为b,剩余10个数据为需要分类的数据a。输出描述:计算数据最多的类型(有效类型)有多少个数据。示例1输入5、2、1、2、3、4、5、6、7、8、9、10输出5

22.【统计射击比赛成绩】题目描述给定一个射击比赛成绩单,包含多个选手若干次射击的成绩分数,请对每个选手按其最高3个分数之和进行降序排名,输出降序排名后的选手ID序列。

条件如下:

一个选手可以有多个射击成绩的分数,且次序不固定。如果一个选手成绩少于3个,则认为选手的所有成绩无效,排名忽略该选手。如果选手的成绩之和相等,则成绩之和相等的选手按照其ID降序排列。输入描述:

输入第一行,一个整数N,表示该场比赛总共进行了N次射击,产生N个成绩分数(2<=N<=100)。输入第二行,一个长度为N整数序列,表示参与每次射击的选手ID(0<=ID<=99)。输入第三行,一个长度为N整数序列,表示参与每次射击的选手对应的成绩(0<=成绩<=100)。输出描述:符合题设条件的降序排名后的选手ID序列。

示例1输入

133,3,7,4,4,4,4,7,7,3,5,5,553,80,68,24,39,76,66,16,100,55,53,80,55输出

5,3,7,4说明

该场射击比赛进行了13次,参赛的选手为{3,4,5,7}。3号选手成绩:53,80,55,最高3个成绩的和为:80+55+53=188。4号选手成绩:24,39,76,66,最高3个成绩的和为:76+66+39=181。5号选手成绩:53,80,55,最高3个成绩的和为:80+55+53=188。7号选手成绩:68,16,100,最高3个成绩的和为:100+68+16=184。比较各个选手最高3个成绩的和,有3号=5号>7号>4号,由于3号和5号成绩相等且ID号5>3,所以输出为:5,3,7,4

23.【服务器广播】题目:服务器连接方式包括直接相连,间接连接。A和B直接连接,B和c直接连接,则A和c间接连接。直接连接和间接连接都可以发送广播。给出一个N*N数组,代表N个服务器,matrix[i][j]==1,则代表i和j直接连接;不等于1时,代表i和j不直接连接。matrix[i][i]==1,即自己和自己直接连接。matrix[i][j]==matrix[j][i]。计算初始需要给几台服务器广播,才可以使侮个服务器都收到广播。输入描述:n*n矩阵,

[[1,1,0],[1,1,0],[0,0,1]]1输出描述:整数

2

24.【查找众数及中位数】题目描述:1.众数是指一组数据中出现次数量多的那个数,众数可以是多个2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数输入描述:输入一个一维整型数组,数组大小取值范围0

题目描述:

小明从糖果盒中随意抓一把糖果每次小明会取出一半的糖果分给同学们当糖果不能平均分配时小明可以从糖果盒中(假设盒中糖果足够)取出一个或放回一个糖果小明至少需要多少次(取出放回和平均分配均记一次)能将手中糖果分至只剩一颗

示例:输入:15输出:5输入:4输出:2

26.【最长的指定瑕疵度的元音字串】题目描述:

27.【weaareteam[机房]】题目描述:

总共有n个人在机房,每个人有一个标号(1<=标号<=n),他们分成了多个团队,需要你根据收到的m条消息判定指定的两个人是否在一个团队中,具体的:1、消息构成为abc,整数a、b分别代表两个人的标号,整数c代表指令2、c==0代表a和b在一个团队内3、c==1代表需要判定a和b的关系,如果a和b是一个团队,输出一行'weareateam',如果不是,输出一行'wearenotateam'4、c为其他值,或当前行a或b超出1~n的范围,输出‘dapianzi'输入描述:1、第一行包含两个整数n,m(1<=n,m<100000),分别表示有n个人和m条消息2、随后的m行,每行一条消息,消息格式为:abc(1<=a,b<=n,0<=c<=1)输出描述:1、c==1,根据a和b是否在一个团队中输出一行字符串,在一个团队中输出‘weareateam',不在一个团队中输出'wearenotateam’2、c为其他值,或当前行a或b的标号小于1或者大于n时,输出字符串‘dapianzi'3、如果第一行n和m的值超出约定的范围时,输出字符串'Null'输入:57120450230121231451151输出:WeareateamWeareateamWeareateamWearenotateam输入:56120121150231251132输出:weareateamwearenotateamweareateamdapianzi

28.【字符串中包含的最长的非严格递增连续数字序列长度】题目描述:

输入一个字符串仅包含大小写字母和数字求字符串中包含的最长的非严格递增连续数字序列长度比如:12234属于非严格递增数字序列示例:输入abc2234019A334bc输出4说明:2234为最长的非严格递增连续数字序列,所以长度为4

aaaaaa44ko543j123j7345677781aaaaa34567778a44ko543j123j71345678a44ko543j123j7134567778aa

29.【最长的连续子序列】题目描述:

有N个正整数组成的一个序列给定一个整数sum求长度最长的的连续子序列使他们的和等于sum返回次子序列的长度如果没有满足要求的序列返回-1案例1:输入1,2,3,4,26输出3解析:1,2,3和4,2两个序列均能满足要求所以最长的连续序列为1,2,3因此结果为3

30.【考勤信息】题目描述:

公司用一个字符串来表示员工的出勤信息:

absent:缺勤

late:迟到

leaveearly:早退

present:正常上班

现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下:

缺勤不超过一次;没有连续的迟到/早退;任意连续7次考勤,缺勤/迟到/早退不超过3次

present

presentabsentpresentpresentleaveearlypresentabsent

根据考勤数据字符串,如果能得到考勤奖,输出"true";否则输出"false",对于输入示例的结果应为:

truefalse

31.【寻找相同子串】题目描述:

给你两个字符串t和p要求从t中找到一个和p相同的连续子串,并输出该子串第一个字符的下标输入描述:

输入文件包括两行分别表示字符串t和p保证t的长度不小于p且t的长度不超过1000000p的长度不超过10000输出描述:

如果能从t中找到一个和p相等的连续子串则输出该子串第一个字符在t中的下标下标从左到右依次为1,2,3,…;如果不能,则输出“No”如果含有多个这样的子串,则输出第一个字符下标最小的示例

AVERDXIVYERDIANRDXI输出:

4

32.【检查是否存在满足条件的数字组合】给定一个正整数数组检查数组中是否存在满足规则的数组组合规则:A=B+2C

输入描述第一行输出数组的元素个数接下来一行输出所有数组元素用空格隔开

输出描述如果存在满足要求的数在同一行里依次输出规则里A/B/C的取值用空格隔开如果不存在输出0

示例1:输入42730输出732说明:7=3+2*2

示例2:输入3111输出0说明找不到满足条件的组合

备注:数组长度在3~100之间数组成员为0~65535数组成员可以重复但每个成员只能在结果算式中使用一次如数组成员为[0,0,1,5]0出现两次允许,但结果0=0+2*0不允许因为算式中使用了3个0用例保证每组数字里最多只有一组符合要求的解

33.【字符串筛选排序】题目描述:输入一个由n个大小写字母组成的字符串,按照Ascii码值从小到大的排序规则,查找字符串中第k个最小ascii码值的字母(k>=1),输出该字母所在字符串的位置索引(字符串的第一个字符位置索引为0)。k如果大于字符串长度,则输出最大ascii值的字母所在字符串的位置索引,如果有重复的字母,则输出字母的最小位置索引。输入描述:第一行输入一个由大小写字母组成的字符串第二行输入k,k必须大于0,k可以大于输入字符串的长度输出描述:输出字符串中第k个最小ascii码值的字母所在字符串的位置索引。k如果大于字符串长度,则输出最大ascii值的字母所在字符串的位置索引,如果第k个最小ascii码值的字母存在重复,则输出该字母的最小位置索引。示例1:输入AbCdeFG3输出5

34.【仿LISP字符串运算】题目描述LISP语言唯一的语法就是括号要配对。形如(OPP1P2…),括号内元素由单个空格分割。其中第一个元素OP为操作符,后续元素均为其参数,参数个数取决于操作符类型注意:参数P1,P2也有可能是另外一个嵌套的(OPP1P2…)当前OP类型为add/sub/mul/div(全小写),分别代表整数的加减乘除法。简单起见,所以OP参数个数为2举例-输入:(mul3-7)输出:-21输入:(add12)输出:3输入:(sub(mul24)(div93))输出:5输入:(div10)输出:error常规方法是用两个栈分别存放操作数和操作符,本文用一个栈来实现,首先从后往前提取操作数和操作符存放在vector,然后判断

35.【5键键盘的输出】题目描述:

有一个特殊的五键键盘,上面有A、Ctrl-C、Ctrl-X、Ctrl-V、Ctrl-AA键在屏幕上输出一个字母A,Ctrl-C将当前所选的字母复制到剪贴板,Ctrl-X将当前选择的字母复制到剪贴板并清空所选择的字母,Ctrl-V将当前剪贴板的字母输出到屏幕,Ctrl-A选择当前屏幕中所有字母条件如下:

剪贴板初始为空新的内容复制到剪贴板会覆盖原有内容当屏幕中没有字母时,Ctrl-A无效当没有选择字母时Ctrl-C、Ctrl-X无效当有字母被选择时A和Ctrl-V这两个输出功能的键,会先清空所选的字母再进行输出给定一系列键盘输入,输出最终屏幕上字母的数量输入描述:

输入为一行为简化解析用数字12345分别代替A、Ctrl-C、Ctrl-X、Ctrl-V、Ctrl-A的输入数字用空格分割输出描述:

输出一个数字为屏幕上字母的总数量示例一

111输出:

3示例二

11515244输出:

36.【内存资源分配】题目描述:

有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源,返回申请结果成功失败列表。分配规则如下:分配的内存要大于等于内存申请量,存在满足需求的内存就必须分配,优先分配粒度小的,但内存不能拆分使用。需要按申请顺序分配,先申请的先分配。有可用内存分配则申请结果为true,没有可用内存分配则返回false。注:不考虑内存释放。

第一行为内存池资源列表,包含内存粒度数据信息,粒度数据间用逗号分割,一个粒度信息内部用冒号分割,冒号前为内存粒度大小,冒号后为数量。资源列表不大于1024,每个粒度的数量不大于4096。

第二行为申请列表,申请的内存大小间用逗号分隔。申请列表不大于100000。

如:

64:2,128:1,32:4,1:12850,36,64,128,12712输出描述:

输出为内存池分配结果。

true,true,true,false,false1示例

64:2,128:1,32:4,1:12850,36,64,128,12712输出:

true,true,true,false,false1说明:

内存池资源包含:64K共2个、128K共1个、32K共4个、1K共128个的内存资源;

针对50,36,64,128,127的内存申请序列,分配的内存依次是:64,64,128,NULL,NULL,

第三次申请内存时已经将128分配出去,因此输出结果是:

true,true,true,false,false

37.【猴子爬山】天一只顽猴想要从山脚爬到山顶途中经过一个有n个台阶的阶梯,但是这个猴子有个习惯,每一次只跳1步或3步试问?猴子通过这个阶梯有多少种不同的跳跃方式

输入描述:输入只有一个这个数n0

实例:输入50输出122106097

输入3输出2

如果初始地图上所有区域全部都被感染,或者没有被感染区域,返回-1收起输入描述:一行N*N个数字(只包含0,1,不会有其他数字)表示一个地图,数字间用,分割,0表示未感染区域,1表示已经感染区域每N个数字表示地图中一行,输入数据共表示N行N列的区域地图。例如输入1,0,1,0,0,0,1,0,1,表示地图1,0,10,0,01,0,1输出描述:一个整数,表示经过多少天以后,全部区域都被感染示例1输入1,0,1,0,0,0,1,0,1输出2说明1天以后,地图中仅剩余中心点未被感染;2天以后,全部被感染。示例2输入0,0,0,0输出-1说明无感染区域示例3输入1,1,1,1,1,1,1,1,1输出-1说明全部都感染备注:1<=N<200

输入描述第一个参数为gpu最多执行的任务个数取值范围1~10000第二个参数为任务数组的长度取值范围1~10000第三个参数为任务数组数字范围1~10000

输出描述执行完所有任务需要多少秒

例子输入3512345输出6

说明,一次最多执行3个任务最少耗时6s

例子2输入4554111输出5

说明,一次最多执行4个任务最少耗时5s

40.【字符串变换最小字符串】题目描述:

给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。输入描述:

一串小写字母组成的字符串s输出描述:

按照要求进行变换得到的最小字符串备注:

s是都是小写字符组成1<=s.length<=1000示例

abcdef输出:

abcdef说明:

abcdef已经是最小字符串,不需要交换输入:

bcdefa输出:

acdefb说明:

a和b进行位置交换,可以得到最小字符串

41.【篮球比赛】篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。现有10个球员准备分为两队进行训练赛,教练希望2个队伍的战斗力差值能够尽可能的小,以达到最佳训练效果。给出10个球员的战斗力,如果你是教练,你该如何分队,才能达到最佳训练效果?请输出该分队方案下的最小战斗力差值。

10个篮球队员的战斗力(整数,范围[1,10000]),战斗力之间用空格分隔,如:10987654321

不需要考虑异常输入的场景。

最小的战斗力差值,如:1

10987654321

1

125910分为一队,34678分为一队,两队战斗力之差最小,输出差值1。备注:球员分队方案不唯一,但最小战斗力差值固定是1。

这是一道动态规划的问题,难度较高,而且因为要求均分2组,还不太好转化为典型的背包问题。

在知道这是一道动态规划问题之前,我给出了自己的解法(目前我认为这个解法应该是错误的,但暂时还没有找到可以推翻这种解法的测试用例,所以暂时保留了这个解法)。

其基本思路为:

1.首先将队员按照战斗力排序;

2.为了保证战斗力均衡,可以得到战斗力最强的和最弱的必然分到一组,于是得到第一个小的分组(最强和最弱),期战斗力之和为SA,分到A组

3.在剩下的队伍当中两两组合,寻找战斗力最接近SA的组合,分到B组,其战斗力之和为SB,然后寻找最大最小的组合,然后更新SA(或者SB,这个需要在中间比较,看这个组合是放到SA合适还是SB合适),然后在剩下的组合当中寻找两两组合,使得SA和SB的差值最小,直到最后一组;

4.最后一组需要特殊处理一下,因为可能只有2个队员了,此时需要根据SA和SB的值,合理分配成员,最终得到分组结果。

42.【连续字母长度】题目描述:

给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第k长的子串的长度,相同字母只取最长的那个子串。输入描述:

第一行有一个子串(1<长度<=100),只包含大写字母。第二行为k的值输出描述:

输出连续出现次数第k多的字母的次数。示例

AABAAA2输出:

1说明:

同一字母连续出现最多的A3次第二多2次但A出现连续3次输入:

AAAAHHHBBCDHHHH3输出:

2说明:

同一字母连续出现的最多的是A和H,四次第二多的是H,3次43.【素数之积】

**题目:

**RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的难度,数据越大,安全系数越高,给定一个32位整数,请对其进行因数分解,找出是哪两个素数的乘积。

44.【判断一组不等式是否满足约束并输出最大差】要求:1s65535k

给定一组不等式,判断是否成立并输出不等式的最大差(输出浮点数的整数部分)要求:1>不等式系数为double类型,是一个二维数组2>不等式的变量类型为int类型,是一维数组3>不等式的目标值为double类型,是一维数组4>不等式的约束为字符串数组,只能是:">",">=","=","<=","<"

输入描述:a11,a12,a13,a14,a15;a21,a22,a23,a24,a25;a31,a32,a33,a34,a35;*1,*2,*3,*4,*5;b1,b2,b3,b4,b5;<=,<=,<=输出描述:true或者false,最大差

45.【输出字符串中包含所有整数的最小和】题目描述:

输入字符串s输出s中包含所有整数的最小和说明:

字符串s只包含az,AZ,+,-,合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,102负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023输入描述:

包含数字的字符串输出描述:

所有整数的最小和示例

bb1234aa输出:

10输入:

bb12-34aa输出:

-31说明:

1+2-(34)=-31

46.【最大数】给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例1:

输入:[10,2]输出:210示例2:

输入:[3,30,34,5,9]输出:9534330说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数。

47.【找朋友】在学校中,N个朋友站成队,第i个朋友的身为height[i],第i个朋友可以看到的第个身更的朋友j,那么j是i的好朋友(要求j>i)。请重新成个列表,对应位置的输出是每个朋友的好朋友位置,如果没有看到好朋友,请在该位置0代替。朋友数范围是[0,40000]。

输描述:

第输N,N表示有N个朋友第输N个朋友的身height[i],都是整数

输出N个朋友的好朋友的位置

示例1:输入2

10095

00

48.【字符统计及重排】【字符统计及重排】给出个仅包含字的字符串,不包含空格,统计字符串中各个字(区分写)出现的次数,并按照字出现次数从到的顺序输出各个字及其出现次数。如果次数相同,按照然顺序进排序,且写字在写字之前。输描述:

输,为个仅包含字的字符串。

按照字出现次数从到的顺序输出各个字和字次数,英分号分隔,注意末尾的分号;字和次数间英冒号分隔。

示例1:输入

xyxyXX

x:2;y:2;X:2

49.【乱序整数序列两数之和绝对值最小】要求:1s262144k给定一个随机的整数数组(含正负整数),找出其中的两个数,其和的绝对值为最小值,并返回两个数,按从小到大返回以及绝对值。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍

输入:通过空格分割的有序整数序列字符串,最多1000个,范围(-65535,65535)输出:两数之和的绝对值最小值

eg:输入:-1-3751115输出:-352

50.【德州扑克】五张牌,每张牌由牌大小和花色组成,牌大小2~10、J、Q、K、A,牌花色为红桃、黑桃、梅花、方块四种花色之一。判断牌型:

牌型1,同花顺:同一花色的顺子,如红桃2红桃3红桃4红桃5红桃6。

牌型2,四条:四张相同数字+单张,如红桃A黑桃A梅花A方块A+黑桃K。

牌型3,葫芦:三张相同数字+一对,如红桃5黑桃5梅花5+方块9梅花9。

牌型4,同花:同一花色,如方块3方块7方块10方块J方块Q。

牌型5,顺子:花色不一样的顺子,如红桃2黑桃3红桃4红桃5方块6。

牌型6,三条:三张相同+两张单。

牌型7,其他。

说明:

1)五张牌里不会出现牌大小和花色完全相同的牌。

2)前面的牌型比后面的牌型大,如同花顺比四条大,依次类推。

输入由5行组成

每行为一张牌大小和花色,牌大小为2~10、J、Q、K、A,花色分别用字符H、S、C、D表示红桃、黑桃、梅花、方块。

输出牌型序号,5张牌符合多种牌型时,取最大的牌型序号输出

2H

3C

6S

5S

4S

输出:

5

51.【靠谱的车】程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。比如:

23再多一块钱就变为25;39再多一块钱变为50;399再多一块钱变为500;小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。给出计费表的表面读数,返回实际产生的费用输入描述:只有一行,数字N,表示里程表的读数。(1<=N<=888888888)。输出描述:一个数字,表示实际产生的费用。以回车结束。示例1:输入5输出4说明:5表示计费表的表面读数。4表示实际产生的费用其实只有4块钱。示例2:输入17输出15说明:17表示计费表的表面读数。15表示实际产生的费用其实只有15块钱。示例3:输入100输出81说明:100表示计费表的表面读数。81表示实际产生的费用其实只有81块钱。

52.【VLAN资源池】题目描述:

***VLAN***是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLANID(1-4094之间的整数)的概念。定义一个VLANID的资源池(下称VLAN资源池),资源池中连续的VLAN用开始VLAN-结束VLAN表示,不连续的用单个整数表示,所有的VLAN用英文逗号连接起来。现在有一个VLAN资源池,业务需要从资源池中申请一个VLAN,需要你输出从VLAN资源池中移除申请的VLAN后的资源池。输入描述:

第一行为字符串格式的VLAN资源池,第二行为业务要申请的VLAN,VLAN的取值范围为[1,4094]之间的整数。输出描述:

从输入VLAN资源池中移除申请的VLAN后字符串格式的VLAN资源池,输出要求满足题目描述中的格式,并且按照VLAN从小到大升序输出。如果申请的VLAN不在原VLAN资源池内,输出原VLAN资源池升序排序后的字符串即可。备注:

输入VLAN资源池中VLAN的数量取值范围为[2-4094]间的整数,资源池中VLAN不重复且合法([1,4094]之间的整数),输入是乱序的。

1-52输出:

1,3-5说明:

原VLAN资源池中有VLAN1、2、3、4、5,从资源池中移除2后,剩下VLAN1、3、4、5,按照题目描述格式并升序后的结果为1,3-5。输入:

20-21,15,18,30,5-1015输出:

5-10,18,20-21,30说明:

原VLAN资源池中有VLAN5、6、7、8、9、10、15、18、20、21、30,从资源池中移除15后,资源池中剩下的VLAN为5、6、7、8、9、10、18、20、21、30,按照题目描述格式并升序后的结果为5-10,18,20-21,30。输入:

5,1-310输出:

1-3,5说明:

原VLAN资源池中有VLAN1、2、3,5,申请的VLAN10不在原资源池中,将原资源池按照题目描述格式并按升序排序后输出的结果为1-3,5。

54.【找终点】

55.【拼接URL】题目描述:

给定一个url前缀和url后缀,通过,分割需要将其连接为一个完整的url如果前缀结尾和后缀开头都没有/,需要自动补上/连接符如果前缀结尾和后缀开头都为/,需要自动去重约束:不用考虑前后缀URL不合法情况输入描述:

url前缀(一个长度小于100的字符串)url后缀(一个长度小于100的字符串)输出描述:

拼接后的url示例

/acm,/bb输出:

/acm/bb输入:

/abc/,/bcd输出:

/abc/bcd输入:

/acd,bef输出:

/acd/bef输入:

,输出:

/

56.【矩阵最大值】题目描述:给定一个仅包含0和1的N*N二维矩阵,请计算二维矩阵的最大值,计算规则如下:

每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值。矩阵各行值之和为矩阵的值。允许通过向左或向右整体循环移动每行元素来改变各元素在行中的位置。比如:[1,0,1,1,1]向右整体循环移动2位变为[1,1,1,0,1],二进制数为11101,值为29。[1,0,1,1,1]向左整体循环移动2位变为[1,1,1,1,0],二进制数为11110,值为30。输入描述:输入的第一行为正整数,记录了N的大小,0

输入51,0,0,0,10,0,0,1,10,1,0,1,01,0,0,1,11,0,1,0,1123456输出1221说明:第一行向右整体循环移动1位,得到本行的最大值[1,1,0,0,0],二进制为11000,十进制为24。第二行向右整体循环移动2位,得到本行的最大值[1,1,0,0,0],二进制为11000,十进制为24。第三行向左整体循环移动1位,得到本行的最大值[1,0,1,0,0],二进制为10100,十进制为20。第四行向右整体循环移动2位,得到本行的最大值[1,1,1,0,0],二进制为11100,十进制为28。第五行向右整体循环移动1位,得到本行的最大值[1,1,0,1,0],二进制为11010,十进制为26。总和为24+24+20+28+26=122。

57.【最小传输时延】问题描述:

有M*N的节点矩阵,每个节点可以向8个方向(上、下、左、右及四个斜线方向)转发数据包,每个节点转发时会消耗固定时延,连续两个相同时延可以减少一个时延值(即当有K个相同时延的节点连续转发时可以减少K-1个时延值),求左上角(0,0)开始转发数据包到右下角(M-1,N-1)并转发出的最短时延。

输入:第一行两个数字,M、N,接下来有M行,每行有N个数据,表述M*N的矩阵。输出:最短时延值。

示例1:33022121221输出:3示例2:33222222222输出:4(2+2+2-(3-1))

59.【组成最大数】【题目描述】

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

【示例】

输入:[10,2]输出:210输入:[3,30,34,5,9]输出:9534330

60.【矩形相交的面积】【矩形相交的面积】在坐标系中,给定3个矩形,求相交区域的面积。输入描述:3行输入分别为3个矩形的位置,分别代表“左上角x坐标”,“左上角y坐标”,“矩形宽”,“矩形高”-1000<=x,y<1000输出描述:输出3个矩形相交的面积,不相交的输出0

示例:输入164435340373输出2

输入输出样例1:2REQUEST=10REQUEST=20输出样例1:0101.2.3.4.5.6.7.样例2:5REQUEST=10REQUEST=20RELEASE=0REQUEST=20REQUEST=10输出样例2:0103001.2.3.4.5.6.7.8.9.10.11.12.提示说明:第一条指令,申请地址0~9的10个字节内存,返回首地址0第二条指令,申请地址10~29的20字节内存,返回首地址10第三条指令,释放首地址为0的内存申请,0~9地址内存被释放,变为空闲,释放成功,无需输出第四条指令,申请20字节内存,09地址内存连续空间不足20字节,往后查找到3049地址,返回首地址30第五条指令,申请10字节,0~9地址内存空间足够,返回首地址0

62.【工厂流水线调度】题目描述:

第一行为2个整数(采用空格分隔),分别表示流水线个数m和作业数n第二行输入n个整数(采用空格分隔),表示每个作业的处理时长t1,t2…tn。0

输出处理完所有作业的总时长示例

35843210输出:

13说明:

63.【快递运输】【题目描述】

一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。快递的体积不受限制,快递数最多1000个,货车载重最大50000。输入描述第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11第二行输入货车的载重量,如:20不需要考虑异常输入输出描述输出最多能装多少个快递,如:3【示例】

输入:5,10,2,1120输出:3说明:货车的载重量为20,最多只能放三个快递5、10、2,因此输出3

64.【目录删除】要求:1s262144k

某文件系统中有N个目录,每个目录都一个独一无二的ID。每个目录只有一个父目录,但每个父目录下可以有零个或者多个子目录,目录结构呈树状结构。假设,根目录的ID为0,且根目录没有父目录,其他所有目录的ID用唯一的正整数表示,并统一编号。现给定目录ID和其父目录ID的对应父子关系表[子目录ID,父目录ID],以及一个待删除的目录ID,请计算并返回一个ID序列,表示因为删除指定目录后剩下的所有目录,返回的ID序列以递增序输出。注意:1、被删除的目录或文件编号一定在输入的ID序列中;2、当一个目录删除时,它所有的子目录都会被删除。

输入描述:输入的第一行为父子关系表的长度m;接下来的m行为m个父子关系对;最后一行为待删除的ID。序列中的元素以空格分割,参见样例。

输出描述:输出一个序列,表示因为删除指定目录后,剩余的目录ID。

示例1输入58610860208268

输出26123456789101112

65.【任务调度问题】操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级<50,用户任务的优先级>=50且<=255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[]中的任务按照系统任务、用户任务依次存放到system_task[]数组和user_task[]数组中(数组中元素的值是任务在task[]数组中的下标),并且优先级高的任务排在前面,数组元素为-1表示结束。

例如:task[]={0,30,155,1,80,300,170,40,99}system_task[]={0,3,1,7,-1}user_task[]={4,8,2,6,-1}

函数接口voidscheduler(inttask[],intn,intsystem_task[],intuser_task[])

66.【英文输入法单词联想】题目描述:

主管期望你来实现英文输入法单词联想功能。需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。注意:

英文单词联想时区分大小写缩略形式如"don’t"判定为两个单词"don"和"t"输出的单词序列不能有重复单词且只能是英文单词,不能有标点符号。输入描述:

输入两行

首行输入一段由英文单词word和标点构成的语句str

接下来一行为一个英文单词前缀pre

0

0

0

输出符合要求的单词序列或单词前缀,存在多个时,单词之间以单个空格分割示例

IloveyouHe输出:

He说明:

用户已输入单词语句"Iloveyou",中提炼出"I",“love”,“you"三个单词接下来用户输入"He”,从已经输入信息中无法联想到符合要求的单词,所以输出用户输入的单词前缀。输入:

Thefurthestdistanceintheworld,Isnotbetweenlifeanddeath,ButwhenIstandinfrontoryou,Yetyoudon’tknowthatIloveyou.f输出:

frontfurthest

67.【求解连续数列】【求解连续数列】已知连续正整数数列{K}=K1,K2,K3…Ki的各个数相加之和为S,i=N(0

输包含两个参数,1)连续正整数数列和S,2)数列数的个数N。

如果有解输出数列K,如果解输出-1

示例1:输

5256

858687888990

68.【区间交集】【区间交集】给定一组闭区间,其中部分区间存在交集。任意两个给定区间的交集,称为公共区间(如:[1,2],[2,3]的公共区间为[2,2],[3,5],[3,6]的公共区间为[3,5])。公共区间之间若存在交集,则需要合并(如:[1,3],[3,5]区间存在交集[3,3],需合并为[1,5])。按升序排列输出合并后的区间列表。输入描述:一组区间列表,区间数为N:0<=N<=1000;区间元素为X:-10000<=X<=10000。输出描述:升序排列的合并区间列表备注:1、区间元素均为数字,不考虑字母、符号等异常输入。2、单个区间认定为无公共区间。示例:输入[[0,3],[1,3],[3,5],[3,6]]输出[[1,5]]

给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。选择规则如下:

1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。

2、选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3(即在第1、2、3轮选择跳过轮次),则总分数置为0。

3、选手的初始总分数为0,且必须依次参加每一轮。

第一行为一个小写逗号分割的字符串,表示n轮的牌面分数,1<=n<=20。

分数值为整数,-100<=分数值<=100。

不考虑格式问题。

所有轮结束后选手获得的最高总分数。

1,-5,-6,4,3,6,-2

11

总共有7轮牌面。

第一轮选择该轮牌面,总分数为1。

第二轮不选择该轮牌面,总分数还原为0。

第三轮不选择该轮牌面,总分数还原为0。

第四轮选择该轮牌面,总分数为4。

第五轮选择该轮牌面,总分数为7。

第六轮选择该轮牌面,总分数为13。

第七轮如果不选择该轮牌面,则总分数还原到3轮1前分数,即第四轮的总分数4,如果选择该轮牌面,总分数为11,所以选择该轮牌面。

因此,最终的最高总分为11。

示例:输入:201:41:8.91:1:09.211输出1:1:09.21101:41:8.9示例输入323:41:08.0231:1:09.21108:01:22.0输出1:1:09.21108:01:22.023:41:08.023

71.【分月饼】题目描述中秋节,公司分月饼,m个员工,买了n个月饼,m<=n,每个员工至少分1个月饼,但可以分多个,单人份到最多月饼的个数为Max1,单人分到第二多月饼的个数是Max2,Max1-Max2<=3,。同理,单人分到第n-1多月饼的个数是Max(n-1),单人分到第n多月饼的个数是Max(n),Max(n-1)-Max(n)<=3。请问有多少种分月饼的方法?

第一行输入mn,表示m个员工,n个月饼,m<=n1输出描述:

输出有多少种月饼分法1解题思路:把n个月饼当做一个线段,划分m次。

假设,开始划分一次,划分了a个月饼,则此时m=m-1,n=n-a;再次划分时,划分了b个月饼,则此时m=m-1,n=n-b;…最后第n次划分时,划分c个月饼,m=m-1=0,n=n-c=0;

71.【滑动窗口最大值】【编程题目|100分】滑动窗口最大值[2022Q1考试题]

本题可使用本地IDE编码,不能使用本地已有代码。无跳出限制,编码后请点击"保存并提交"按钮进行代码提交。

题目描述:有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动直到窗口不能滑动为止,每次窗口滑动产生一个窗口和(窗口内所有数的和),求窗口滑动产生的所有窗口和的最大值。

输入描述:第一行输入一个正整数N,表示整数个数。(0

输入61210203015233123输出681思路分析:这与leetcode的滑动窗口最大值不同,那个需要用单调栈来实现。计算每个窗口的最大值。

这道题可以参考单调栈实现方法,用来统计滑动窗口的最大值。也可以使用双指针来实现。

72.【wave数组找字母游戏】题目描述:

WordMaze是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉。如上图,假设给定单词if,你必须先吃掉i然后才能吃掉f。

但现在你的任务可没有这么简单,你现在处于一个迷宫Maze(n×m的矩阵)当中,里面到处都是以字母标注的食物,但你只能吃掉能连成给定单词W的食物。12,指定W为“SOLO”,则在地图中红色标注了单词“SOLO”。

注意区分英文字母大小写,你只能上下左右行走。

输入:

输入第一行包含两个整数n、m(0

输出:

如果能在地图中连成给定的单词,则输出“YES”,否则输出“NO”。注意:每个字母只能用一次。

样例输入:

55SOLOCPUCYEKLQHCRSOLEKLQOPGRBC

样例输出:

YES

思路分析:

最小数字题目描述:给定一个整型数组,请从该数组中选择3个元素组成最小数字并输出(如果数组长度小于3,则选择数组中所有元素来组成最小数字)。

输入描述:一行用半角逗号分割的字符串记录的整型数组,0<数组长度<=100,0<整数的取值范围<=10000。

输出描述:由3个元素组成的最小数字,如果数组长度小于3,则选择数组中所有元素来组成最小数字。

示例1:输入21,30,62,5,311输出213051说明数组长度超过3,需要选3个元素组成最小数字,21305由21,30,5三个元素组成的数字,为所有组合中最小的数字

示例2:输入5,211输出2151说明数组长度小于3,选择所有元素组成最小值,215为最小值

可以保证线人给定的字符串一定是合法的。例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。最近的时刻有可能在第二天

76.【最大值】给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。(LeetCode-JAVA)示例1:

77.【按身高和体重排队】题目描述:

78.【寻找身高相近的小朋友】小明今年升学到了小学1年纪来到新班级后,发现其他小朋友身高参差不齐然后就想基于各小朋友和自己的身高差,对他们进行排序请帮他实现排序输入描述第一行为正整数h和n0

3

6

7

8

9

10

12

13

14

15

16

输出描述

输出排序结果,各正整数以空格分割

和小明身高差绝对值最小的小朋友排在前面

和小明身高差绝对值最大的小朋友排在后面

如果两个小朋友和小明身高差一样

则个子较小的小朋友排在前面

示例一

说明小明身高100

班级学生10个身高分别为9596979899101102103104105,按身高差排序后结果为:9910198102971039610495105

79.【二叉树中序遍历输出】题目描述根据给定的二叉树结构描述字符串,输出该二叉树按照中序遍历结果字符串。中序遍历顺序为:左子树,根结点,右子树。

输入描述由大小写字母、左右大括号、逗号组成的字符串:1、字母代表一个节点值,左右括号内包含该节点的子节点。2、左右子节点使用逗号分隔,逗号前为空则表示左子节点为空,没有逗号则表示右子节点为空。3、二叉树节点数最大不超过100。注:输入字符串格式是正确的,无需考虑格式错误的情况。

输出描述输出一个字符串,为二叉树中序遍历各节点值的拼接结果。

示例:输入:a{b{d,e{g,h{,I}}},c{f}}输出:dbgehiafc

80.【第k个排列】题目【第k个排列】给定参数n,从1到n会有n个整数:1,2,3,...,n,这n个数字共有n!种排列。按大小顺序升序列出所有排列情况,并一一标记,当n=3时,所有排列如下:"123""132""213""231""312""321"给定n和k,返回第k个排列。输入描述:输入两行,第一行为n,第二行为k,给定n的范围是[1,9],给定k的范围是[1,n!]。

输出描述:输出排在第k位置的数字。

示例1:输入:33

输出:213

81.【求数组中最大n个数和最小n个数的和】题目描述输入一个数M,表示数组中有M个数输入M个数。输入n求数组M中,去除重复值后,最大n个数和最小n个数的和注意:最大和最小的数中不能有重复值,否则输出-1

样例输入5332422样例输出-1说明去除重复后最大的2个数为[4,3],最小的2个数为[2,3];有相同值,所以返回-1

样例输入5332421样例输出6说明去除重复后最大的1个数为[4],最小的1个数为[2];没有相同值,返回6

82.【喊7的次数重排】题目描述喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当数字是7的倍数或者数字本身含有7的话,要喊"过"。现给定一个长度为N的数组,存储了打乱顺序的每个人喊"过"的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊"过"的次数。

输入输入为一行,为空格分隔的喊"过"的次数

样例输入010

样例输出100

说明一共只有一次喊"过",那只会发生在需要喊7时,按顺序,编号为1的人会遇到7,故输出100。注意,结束时的K不一定是7,也可以是8、9等,喊过的次数都是100。

83.【二叉树用数组来存储】二叉树也可以用数组来存储给定一个数组树的根节点的值储存在下标1对于储存在下标n的节点,他的左子节点和右子节点分别储存在下标2*n和2*n+1并且我们用-1代表一个节点为空给定一个数组存储的二叉树试求从根节点到最小的叶子节点的路径路径由节点的值组成

输入描述输入一行为数组的内容数组的每个元素都是正整数,元素间用空格分割注意第一个元素即为根节点的值即数组的第n元素对应下标n下标0在树的表示中没有使用所以我们省略了输入的树最多为7层

输出描述输出从根节点到最小叶子节点的路径上各个节点的值由空格分割用例保证最小叶子节点只有一个

例子输入357-1-124输出372

例子输入598-1-17-1-1-1-1-16输出5876

84.【最大子矩阵和】求一个M*N的矩阵的最大子矩阵和。比如在如下这个矩阵中:0-2-7092-62-41-41-180-2拥有最大和的子矩阵为:92-41-18其和为15。

85.【磁盘容量排序】磁盘的容量单位常用的有M,G,T这三个等级,关系为1T=1024G、1G=1024M,如样例所示先输入磁盘的个数,再依次输入磁盘的容量大小,然后按照从小到大的顺序对磁盘容量进行排序并输出。

样例:输入:31G2G1024输出:(容量相等,保留原来的相对位置)1G10242G

86.【一种字符串压缩表示的解压】有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串,若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。输入描述:

若判断输入为合法的经过经过压缩后的字符串,则输出压缩前的字符串;若输入不合法,则输出字符串“!error”。

4dff

ddddff

87.【最大花费金额】双十一众多商品进行打折销售,小明想购买自己心仪的一些物品,但由于受购买资金限制,所以他决定从众多心仪商品中购买三件,而且想尽可能的花完资金,现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。

输入第一行为一维整型数组M,数组长度小于100,数组元素记录单个商品的价格,单个商品价格小于1000。输入第二行为购买资金的额度R,R小于100000。输出描述:

输出为满足上述条件的最大花费额度。注意:

如果不存在满足上述条件的商品,请返回-1。示例1

23,26,36,27

78

76

金额23、26和27相加得到76,而且最接近且小于输入金额78

示例2

23,30,40

26

-1

因为输入的商品,无法组合出来满足三件之和小于26.故返回-1备注:

输入格式是正确的,无需考虑格式错误的情况。88.【最远足迹】题目描述:某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。

仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0

如:ferga13fdsf3(100,200)f2r3rfasf(300,400)

输出描述:字符串,表示最远足迹到达的坐标。

如:(300,400)

输入ferg(3,10)a13fdsf3(3,4)f2r3rfasf(5,10)1输出(5,10)1说明记录仪中的合法坐标有3个:(3,10),(3,4),(5,10),其中(5,10)是相距总部最远的坐标,输出(5,10)。

示例2:

输入asfefaweawfaw(0,1)fe1输出(0,0)1说明记录仪中的坐标都不合法,输出总部坐标(0,0)

89.【计算面积】

[计算面积]

绘图机器的绘图笔初始位i在原点(0.0)。机器启动后其绘图笔按下面规则绘制直线:

1)尝试沿着横向坐标轴正向绘制直线,直到给定的终点值E,

2)期间可通过指令在纵坐标轴方向进行偏移。井同时恰制直线,偏移后按规则1绘制直线;指令的格式为XoseYr。表示在横坐标X沿纵坐标方向偏移,ofset为正数表示正向偏移,为负数表示负向偏移。

给定了横坐标格点值E.以及若干条检制指令。请计算给制的直线和横坐标轴。以及X-E的直线组成图形的面积。

输入模述:

首行为两个整数NE。表示有N条指令。机器运行的横坐标終点值E.

接下来N行。每行两个整数表示-条给制指令xosorr。用例保证横坐标X以递增排序方式出现。且不会出现相同横坐标义。取值范围:0

一个整数,表示计算得到的面积。用例保证.结果范围在0-4294967295内

示例1:

410

21

31

4-2

90.【最大矩阵和】题目描述

给定一个二维整数矩阵,要在这个矩阵中选出一个子矩阵,使得这个子矩阵内所有的数字和尽量大,我们把这个子矩阵称为和最大子矩阵,子矩阵的选取原则是原矩阵中一块相互连续的矩形区域。

输入的第一行包含2个整数n,m(1<=n,m<=10),表示一个n行m列的矩阵,下面有n行,每行有m个整数,同一行中,每2个数字之间有1个空格,最后一个数字后面没有空格,所有的数字的在[-1000,1000]之间。输出描述:

输出一行一个数字,表示选出的和最大子矩阵内所有的数字和。示例1

34

-35-15

24-24

-13-13

20

一个3*4的矩阵中,后面3列的子矩阵求和加起来等于20,和最大。

91.【最长广播响应】

输入的第一行为两个正整数,分别表示网络结点的个数N,以及时延列表的长度I;

接下来的I行输入,表示结点间的连接关系列表;

最后一行的输入为一个正整数,表示指定的广播结点序号;

输出一个整数,表示发送结点接受到所有响应消息至少需要等待的是时长。

57

24

23

35

45

92.【二叉树的广度优先遍历】有一颗二叉树,每个节点由一个大写字母标识(最多26个节点)。现有两组字母,分别表示后序遍历(左孩子->右孩子>父节点)和中序遍历(左孩子-父节点-右孩子)的结果,请输出层次遍历的结果。

输入为两个字符串,分别是二叉树的后续遍历和中序遍历结果。

输出二叉树的层次遍历结果

CBEFDACBAEDF

ABDCEF

93.【求字符串中所有整数的最小和】输入字符串s输出s中包含所有整数的最小和,说明:1字符串s只包含a~z,A~Z,+,-,2.合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,1023.负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023输入描述:包含数字的字符串输出描述:所有整数的最小和示例:输入:bb1234aa输出10输入:bb12-34aa输出:-3194.【求最多可以派出多少支团队】

31579

95.【数字反转打印】

96【火锅】

97.【找车位】

98.【敏感字段加密】

99.【字符串统计】

100.【九宫格按键】

101.【报数游戏】题目描述100个人围成一圈,每个人有一个编码,编号从1开始到100.他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。请问最后剩余的人在原先的编号为多少?例如输入M=3时,输出为:“58,91”,输入M=4时,输出为:“34,45,97”。如果m小于等于1,则输出“ERROR!”;如果m大于等于100,则输出“ERROR!”;

示例输入3输出58,91

102.【叠积木】

103.【工号不够用了怎么办】

104.【构成的正方形数量】【构成正方形数量】输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。(内积为零的的两个向量垂直)输入描述:第一行输入为N,N代表坐标数量,N为正整数。N<=100之后的K行输入为坐标xy以空格分隔,xy为整数,-10<=x,y<=10输出描述:输出可以构成的正方形数量。示例1:输入3132431输出0

105.【最长连续子序列】

106.【根据某条件聚类最少交换次数】给出数字K,请输出所有结果小于K的整数组合到一起的最少交换次数。

组合一起是指满足条件的数字相邻,不要求相邻后在数组中的位置。

数据范围

-100<=K<=100

-100<=数组中数值<=100

输入描述;

第一行输入数组:13140

第二行输入K数值:2

输出描述;

第一行输出最少较好次数:1

备注:

小于2的表达式是110,共三种可能将所有符合要求数字组合在一起,最少交换1次

13140

地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示steps[0]可以开启的格子:

比如[0,1]表示从跳完第0个格子以后第1个格子就开启了,比如[2,1],[2,3]表示跳完第2个格子后第1个格子和第3个格子就被开启了

请你计算是否能由给出的steps数组跳完所有的格子,如果可以输出yes,否则输出no

1.你可以从一个格子跳到任意一个开启的格子

2.没有前置依赖条件的格子默认就是开启的

3.如果总数是N,则所有的格子编号为[0,1,2,3…N-1]连续的数组

输入一个整数N表示总共有多少个格子,接着输入多组二维数组steps表示所有格子之间的依赖关系

如果能按照steps给定的依赖顺序跳完所有的格子输出yes

否则输出no

01

02

yes

总共有三个格子[0,1,2],跳完0个格子后第1个格子就开启了,跳到第0个格子后第2个格子也被开启了,按照0->1->2或者0->2->1的顺序都可以跳完所有的格子

no

总共有2个格子,第1个格子可以开启第0格子,但是第1个格子又需要第0个格子才能开启,相互依赖,因此无法完成

示例3

03

04

05

总共有6个格子,第0个格子可以开启第1,2,3,4,5个格子,所以跳完第0个格子之后其他格子都被开启了,之后按任何顺序可以跳完剩余的格子

示例4

43

32

跳完第0个格子可以开启格子4,跳完格子4可以开启格子3,跳完格子3可以开启格子2,跳完格子2可以开启格子1,按照0->4->3->2->1这样就跳完所有的格子

示例5

总共4个格子[0,1,2,3],格子1和格子3没有前置条件所以默认开启,格子1可以开启格子0和格子2,所以跳到格子1之后就可以开启所有的格子,因此可以跳完所有格子

THE END
1.3d九宫图图片(3d九宫图速查表)3d五行九宫图和天罡八卦图 9九宫图数字82749384 九宫格.填好并求出m. 九宫格中第一行的数空白未知数4第二行的数是空两个格19第三行是22 3d五行九宫图和天罡八卦图 3d五行九宫图和天罡八卦图 九宫格-电视节目中的游戏 3d五行九宫图和天罡八卦图 求解此九宫图 3d五行九宫图和天罡八卦图 3d五行分布走势图有http://www.360doc.com/content/22/1019/22/2230681_1052395838.shtml
2.快乐填数已知数字333546,在九宫之数中排序如下,()()33郝yh发布了一条微头条,邀请你来看https://www.toutiao.com/w/1816395959414795/
3.L1104九宫格L1-104 九宫格 九宫格是一款数字游戏,传说起源于河图洛书,现代数学中称之为三阶幻方。游戏规则是:将一个 9×9 的正方形区域划分为 9 个 3×3 的正方形宫位,要求 1 到 9 这九个数字中的每个数字在每一行、每一列、每个宫位中都只能出现一次。https://blog.csdn.net/weixin_65214650/article/details/144056117
4.3的九宫图(3的九宫格拼图)目前关于大家提出的3的九宫图这个问题,那么小编今天就去收集了一些3的九宫格拼图相关的内容来分享给大家。 1、第一步:数字“1”根据“1占下中格,播下小种子。 2、九宫格,二十五宫格,甚至八十一宫格,只要是奇数的平方宫格者能做到横格相加,坚格相加,斜格相加得数相同。 https://www.00rr.com/xinwen/202411/373019.html
5.数学游戏第三季:“脑洞大开的100个数学游戏”今天我又给大家带来了100个简单易实操的数学启蒙小游戏啦。在小学开学之初,把我们学龄前玩过的第3个100个数学游戏分享给大家,适合5—6岁大班阶段的孩子。 此次100个数学游戏共分为八大类,分别是:集合分类,数数游戏,加减法启蒙,图形游戏,思维游戏,钱币和时间启蒙,乘法启蒙以及分数启蒙。需要特别说明的是,这些游戏https://m.xiaohuasheng.cn/blog/9bf01acebd675042
6.三三图(九宫格)”“四四图”“五五图”…“百子图”之奥秘很多人都觉得自己聪明,下面这系列问题就是聪明人未必能解之谜,“三三图(九宫格)”、“四四图”、“五五图”……“百子图”里填数字,加起来,横看竖看斜看,都等于一个固定的数,就各有其奥秘。 ? 这就是数阵图(幻方)问题,其研究在我国已流传了两千多年,它是具有独特形式的填数字问题。传说公元前二千多年https://www.meipian.cn/4z751ob4
7.九宫联攻略玩九宫格有什么技巧5连号全三元组:中下九宫,上排全号。对于右九宫的数字4,只能在这九宫的下排,左九宫的上排。 6排数字的直线:中间横排数字2的位置只能在最右侧。(因为相同的两个数没有交集,所以容易被忽略) 7位互动排除法:这是解决很多难题的唯一方法(第三点的位置)。找到数字7的位置。上排三九宫中,7的位置应该是A7或者A9。https://www.hiwifi.com/news/gaoshou/25866.html
8.排列三九宫图走势图排列三走势图排列三九宫图,3D之家彩票走势图频道提供的排三走势图近200种指标全部免费。每日20:50分准时更新体彩排列三开奖号走势图,并提供排列三排列三九宫图。https://zst.ssqzj.com/cjwpl3/view/9gongge.html?PHPSESSID=cc5b18d3b261099dd2a25aad4e56dbd4
9.大乐透缩水工具的使用技巧九宫合数大小奇偶的使用帮助九宫合数: 就是指将两位数的开奖号码的十位数和个位数相加,如果相加的值大于等于10,就再次将十位数和个位数相加,直到相加得到的数是小于10的一位数,这个一位数是1-9之间的数字,称之为九宫合数。 九宫合数1(01,10,19,28) 九宫合数2(02,11,20,29) https://www.17500.cn/arts/sdetail-10069567.html
10.杀手数独解题思路集锦(33页)实际寻找解的过程为: 寻找九宫格摒除解: 找到了某数在某一个九宫格可填入的位置只余一 个的情形;意即找到了 该数在该九宫格中的填入位置。 6 寻找列摒除解: 找到了某数在某列可填入的位置只余一个的情形; 意 即找到了该数在该列中的填入位置。 寻找行摒除解: 找到了某数在某行可填入的位置只余一个https://max.book118.com/html/2021/0821/5234323202003334.shtm
11.变形数独之九宫对角线数独39. 变形数独之九宫对角线数独 阿慧慧慧Hhh 780次播放 51:08 40. 变形数独之六宫奇数数独 玲宝乖乖 422次播放 41:47 41. 变形数独之六宫乘积数独 阿慧慧慧Hhh 373次播放 39:18 42. 变形数独之六宫对角线数独 胡庆秀 466次播放 33:36 43. 数独第11讲 唯一余数法 练习 https://www.cctalk.com/v/15604917049035