算法学院——第一章高考没达本,要选择去工地搬砖么?

荀一航高考文科分数差5分未达本科线,面临选择。在失望之际,他发现ZM算法学院,通过简单入学考试后被录取。尽管对算法一无所知,他的编程班妹妹小美轻松解决了入学算法题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昏暗的房间,桌边的电脑屏幕发出清冷的光,屏幕上是一则新出的消息,《今年XX省文科高考本科分数线560分》。

我叫荀一航,2021届文科高考生。现在的我盯着电脑屏幕这则新出的消息发呆,如果没记错的话,我今年的高考分数是555分,离本科线差了5分。想起这个分数,现在真想555了……

回想起自己高中三年,实在是荒谬。高一和老爸赌气,脑子一热,选了并不喜欢的文科。上学跟老师对着干,让我朝东偏要朝西。到周末回家就打游戏,临近高考那会为了上课睡觉方便,还特意带了个抱枕过去。班主任实在看不下去,火冒三丈地冲我说,太猖狂了!

往事不堪回首……

本来还以为最后能混个本科,再浑浑噩噩过个四年呢。这会平时一块玩的朋友们,有的走提前批、有的艺考成功、有的上了双一流大学….到我这连个本科线都没过,只能独自心凉凉。而且今年出了新政策,也没法复读。听说读大专出来也很难找工作,不如早点去工地搬砖。

“一航,你二姨说给你介绍工作,你上微信看看。”

老妈好像早就预感我考不上,拖了家里亲戚给我介绍工作。我打开微信,上面是二姨的未读消息。

“听说你高中毕业了,给你介绍了村头工厂的生产线工作,包吃住 50一天,不错的吧 。”

“额,谢谢二姨,我再考虑一下。”

“这岗位就招一个人,村里好几个人惦记着呢,你想好了赶紧跟我说啊。”

哎,有没有后悔药卖的啊,真不知道自己之前到底在干什么。心灰意冷的打开搜索引擎,搜索“高考”。

搜索出的第二则消息,《高考失利?ZM算法学院是您的另一个选择》。ZM算法学院?这个学校的名字可真奇怪。排这么靠前,这个学校应该给了不少赞助吧。

有点好奇,点进去看看吧,画面显示”欢迎参加ZM算法学院”,弹出了一个窗口。

“是否参加入学考试?”选项只有一个“是”。

什么嘛,窗口也没有关闭按钮,根本关不掉,这样只能选“是”了。

点击“是”,页面刷新,出现一些问答题——

请认真回答下列问题,诚信作答。每个问题的答案,确认选是,否认选否。

问题:

您对当下感到迷茫且无所适从么?

您对算法感兴趣么?

您想从事算法类的工作么?

您愿意为了学习算法付出任何代价么?

……

这都是什么奇怪的问题,心理测试么? 姑且都选是好了,问题还挺多,选完点了下右下角的提交。画面显示“提交成功”。

WC,这学校入学考试这么容易,该不会是那种骗子学校,专门坑钱的吧。

这时,页面上出现了新的题目——

请在下面三个图形中选择一个图形,完成最后一道题目,三个图形分别是:

小树 雨滴 气球

这个气球画的比较可爱,就选气球好了。


请在10分钟内,使用一种编程语言解答如下算法题目:

题目:戳气球

有n个气球,编号为0~n-1,每个气球上都标有一个数字,这些数字存在数组nums中。

现在要求戳破所有气球,戳破第i个气球,可以获得nums[i-1] * nums[i] * nums[i+1]枚硬币。

这里i-1和i+1代表和i相邻的两个气球的序号。若i-1或i+1超出了数组的边界,那么就把它当做是一个数字为1的气球。求所能获得硬币的最大数量。


原来最后还要做题啊。歇菜,我之前可没做过什么算法题。

“哥哥你在做什么呀?”小美不知道什么时候,站在我旁边,大大的眼睛好奇的盯着电脑屏幕。

“啊,小美,你怎么进来了。”

荀雅美是我的妹妹,刚上初中,和我这个学渣哥哥不同,成绩拔尖兴趣爱好也广泛。

“哥哥,你是在做算法题么,这道题我之前见过哦。”

咦?!说起来小美好像是在编程班学习,最近还获过不少奖。

“咳咳,那要不你来试一下吧。”

“好啊。”

小美修长的手指在键盘上飞快的敲出了一段代码:

public int maxCoins(int[] nums) {
   int n = nums.length;
   int[][] rec = new int[n + 2][n + 2];
   int[] val = new int[n + 2];
   val[0] = val[n + 1] = 1;
   for (int i = 1; i <= n; i++) {
       val[i] = nums[i - 1];
   }
   for (int i = n - 1; i >= 0; i--) {
       for (int j = i + 2; j <= n + 1; j++) {
           for (int k = i + 1; k < j; k++) {
                int sum = val[i] * val[k] * val[j];
                sum += rec[i][k] + rec[k][j];
                rec[i][j] = Math.max(rec[i][j], sum);
           }
       }
   }
        return rec[0][n + 1];
}

敲完代码总共就不到一分钟吧,小美按下了提交键。提交完成,画面显示“回答正确”。

“耶,答对了~”。咦,原来这道算法题这么简单的么?不过刚刚我完全没看懂题……

“小美真棒,等下哥哥带你去吃海底捞。”

“好哇,那我去换个衣服~”小美开心的走出房间。

望着小美离开的身影,一股酸楚涌上心头。哎,大把的时光都浪费了,我这做哥哥的可真不称职。

我叹了口气,这时屏幕上出现了几个大字——

“恭喜你已被ZM算法学院录取”

注:本故事纯属虚构,算法题目来自leetcode。

戳气球题目官方解答:
https://leetcode-cn.com/problems/burst-balloons/solution/chuo-qi-qiu-by-leetcode-solution/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值