笔试——Day14
文章目录
- 第一题
- 题目
- 思路
- 代码
- 第二题
- 题目:
- 思路
- 代码
- 第三题
- 题目:
- 思路
- 代码
第一题
题目
乒乓球筐
思路
哈希模拟:
统计第一个字符串中每个字符出现的次数;
遍历第二个字符串,减去出现的次数,如果减完之后小于0,则不符合;
代码
第二题
题目:
组队竞赛
思路
模拟: 每次拿到倒数第⼆个⼈的分
2 8 5 1 5
首先对输入的数组进行排序, 1 2 5 5 5 8
分别取第一个和后两个 1 5 8 然后 2 5 5 为一组 中间值相加为10
2 5 1 4 3 7 6 9 8
排序 : 1 2 3 4 5 6 7 8 9
分组 1 8 9 2 6 7 3 4 5 中间值相加为 8+6+4=18
代码
第三题
题目:
删除相邻数字的最大分数
思路
基于打家劫舍的思路
- 统计每一个数出现的总和;
- 在
hash
表中,选一些不相邻的数,使总和最大
例如:arr[] = {1,2,1,2,2,2,2,3}
hash[] = {0, 2, 10, 3, 0, 0}
hash
的下标就是arr
中的数,hash
的值,就是该数的总数