小米青年工程师,本来只是去打个酱油

大家好,我是楼仔!

告诉大家一个好消息,我拿到小米的青年工程师啦!

其实在报名之前,我基本没有报啥希望,上周我还沉浸在涨粉的喜悦中,偶尔会想起来,“哦,上周参加的青年工程师,是不是快出结果了,算了,管它的!”

结果,幸福来得太突然。。。

去年的青年工程师

其实这个青年工程师,去年小米也举办过一次,我当时直接弃权了,对!你没有看错,我是直接弃权!!!

可能有粉丝会问,如果竞选成功,能拿到好多股票,这么好的机会,你居然直接弃权,脑子有泡吧?

楼哥有那么傻么?那是因为楼哥转部门后,感觉在该部门很难发挥自己的优势,竞选的时候直接请了一周的假,和老婆到九寨沟浪去了。

不过说实话,还是非常羡慕入围的同学,金钱的味道,闻起来就是 TM 香!

今年的青年工程师

今年的青年工程师竞选,对于我来说其实非常难,原因有四&

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这道题是一道典型的贪心算法题目。 题目描述:有一个容量为 n 的油桶,每卖一瓶酱油就能得到一块钱,每卖出一瓶酱油后,油桶的容量就会减少 1。现在有m瓶酱油,每瓶需要占用 ai 的容量,问最多能得到多少钱。 算法思路:首先,需要将酱油按照占用容量从小到大排序。然后,从第一瓶酱油开始卖,每次卖出一瓶酱油后,将当前油桶的容量减去该瓶酱油所占用的容量。如果当前油桶的容量小于 0,则说明无法再卖出酱油,此时需要结束卖酱油的过程。最后,将卖出的酱油数量乘以单价即为最终的收益。 具体实现方式如下: ```c #include <stdio.h> #include <stdlib.h> #define MAX_N 100000 int cmp(const void* a, const void* b) { return *(int*)a - *(int*)b; } int main() { int n, m; scanf("%d%d", &n, &m); int a[MAX_N]; for (int i = 0; i < m; i++) { scanf("%d", &a[i]); } qsort(a, m, sizeof(int), cmp); int ans = 0, cur = n; for (int i = 0; i < m && cur > 0; i++) { if (cur >= a[i]) { ans++; cur -= a[i]; } } printf("%d\n", ans); return 0; } ``` 在这个例子中,首先读入 n 和 m,分别表示油桶的容量和酱油的数量。然后,使用一个数组 a 存储每瓶酱油所占用的容量,并按照占用容量从小到大排序。接下来,使用一个循环卖出酱油,每次卖出一瓶酱油后,将当前油桶的容量减去该瓶酱油所占用的容量。如果当前油桶的容量小于 0,则说明无法再卖出酱油,此时需要结束卖酱油的过程。最后,将卖出的酱油数量乘以单价即为最终的收益。 需要注意的是,使用 qsort 函数对数组 a 进行排序时,需要传入一个比较函数 cmp,用来指定排序的方式。在比较函数中,需要将两个元素进行比较,并返回一个整数,表示它们之间的大小关系。在这个例子中,比较函数的实现方式为返回 a - b 的值,表示将 a 放在 b 的前面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值