algorithm/算法/learn/大厂刷题/Second.md

48 lines
1.8 KiB
Markdown

### 题目一
给定数组hard和money,长度都为n,hard[i]表示i好的难度,money[i]表示i号工作的收入
给定数组ability,长度都为m,ability[j]表示j号人的能力
每一号工作,都可以提供无数的岗位,难度和收入都一样
但是每个人的能力必须>=这份工作的难度,才能上班
返回一个长度为M的数组ans,ans[j]表示j号人能获得的最好收入.
有序表 TreeMap
### 题目二
贩卖机只支持硬币支付,且收退都支持10,50,100三种面额
一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用钱的原则
需要购买可乐数量是m,
其中手头拥有的10,50,100的数量分别为a,b,c
可乐的价格是x(x是10的倍数)
请计算出需要投入硬币次数
### 题目三
已知一个消息流会不断地吐出整数1~N,
单不一定按照顺序依次吐出
如果上次打印的序号为i,那么当i+1出现时
请打印i+1及其之后接收过的并且连续的所有数
直到1~N全部接收并打印完
请设计这种接收并打印的结构
等待那一个值到来
头开头hash表
尾开头hash表
判断以某个数开头拼接,以某个数结尾拼接
### 题目四
现有司机N*2人,调度中心将所有司机平分给A,B两个区域
第i个司机去A可得收入为income[i][0]
第i个司机去B可得收入为income[i][1]
返回所有调度方案中能使所有司机总收入最高的方案,是多少钱
### 题目七
给定一个数组arr,只能对arr中的一个子数组排序,但是想让arr整体都有序
返回满足这个设定的子数组中,最短的是多长
从左往右找最大值,不合适画错,确定右边那些不需要移动
从右网左找最小值,不合适画错,确定左边那些不需要移动.
### 题目八
HashMap添加setAll设置所有的value,复杂度仍o1
时间戳计数
setAllTime=3
all=7