数据结构
第一题:
为了做椅子,x买了一块打木板,要据成木板的长度,每次据的木板的长度是消耗的力气值,输入代表一共有 n 个小木板。随后一行 n 个正整数,代表
各个要锯成的小木板的长度。输出第一行一个整数,最小力气值?
这题就是糖果分类,但由于每次据的木板的长度是消耗的力气值,所以是一个逆向的糖果分类;但打法都一样;
当时题目理解有问题,所以没程序;
第二题:
有一种排序,从第一个数开始如果他不是最大的值,就把他放到最后;
[ 输入格式]
输入包含 2 行。
第一行两个整数 n,m。代表一共有 n 个任务,下标分别是 1,2...n,待
求的是完成第 m 个任务所需要的时间。
[ 输出格式]
输出包含 1 行。
第一行一个整数,代表第 m 个任务所需要的时间。
[ 样例输入]
4 2
1 3 4 3
[ 样例输出]
3
[ 样例说明]
第一次完成 4,第二次完成第四位的 3,第三次完成目标位的 3。
只要用链表来强模拟在查找就行了;注意本题空间要求。
第三题:现在定义一种奇奇怪怪的字符串合并算法,使用这种算法,"abc",
"abc-def", "abc-def-g" 可以被合并为"abc-def-g"。
反过来,也有一种对应的拆分算法。例如:"oi-2018fzsz-Day3"可以
被拆分成"oi", "oi-2018fzsz", "oi-2018fzsz-Day3"三个非空的字
符串。当然,两个不同的合并结果可以拆分出相同的字符串。比如:
"oi-2018-a"和"oi-2018-b"均能拆分出"oi"和"oi-2018"两个结果。
现在小 D 将会给你 N 个合并结果,请告诉他这些结果总共 最多可以拆分成
多少个 不同的字符串。
可以保证的是,小 D 所给出的合并结果都不会以“-”开头,不会出现两
拆很简单,有几个减号,就能拆出减号+1的总数;