藏书吧 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

实验楼三楼的走廊有些寂静,林星石踩着楼梯台阶,记忆里计协活动室的位置逐渐清晰。他走到302教室门口,门虚掩着,透过缝隙能看到里面几张熟悉的面孔——几个学长正围在桌前,对着电脑屏幕讨论着什么。

林星石深吸一口气,轻轻推开门。金属门轴发出细微的声响,里面的讨论声戛然而止,几道目光齐刷刷地看过来。

学长们好,他站在门口,嘴角扬起礼貌的笑,我是计算机系大二学生林星石,想来加入计算机协会。

教室中央,一个穿着格子衬衫的男生从椅子上站起来,脸上带着惊讶但很快转为热情。他是副会长张磊,在计协也算小有名气。

欢迎欢迎,张磊快步走过来,伸手拍了拍林星石的肩膀,我们计协就需要新鲜血液。来,我给你介绍下,这几位是协会的骨干成员,那边是我们的指导老师钱博士的位置,他平时会来指导我们做项目。

林星石目光扫过教室,墙上贴着几张编程竞赛的奖状,角落的书架上摆满了计算机相关的书籍。他收回目光,看向张磊:我暑假自学了c++和数据结构,一直想找个地方和大家交流学习,提升自己的编程水平。

张磊眼睛一亮,正准备开口说些什么,教室门突然被推开。一个戴着眼镜、穿着白衬衫的中年男人走了进来,手里还拿着几本书。他是钱博士,计协的指导老师,也是学校里颇受欢迎的编程课讲师。

钱博士的目光在教室里扫了一圈,最后落在林星石身上。这位是?他问张磊。

钱老师,他是来加入计协的新生,叫林星石。张磊连忙介绍。

钱博士推了推眼镜,走到林星石面前,上下打量了他一番。计算机系的?他问。

是的,大二。林星石点头。

暑假自学了c++和数据结构?钱博士的声音里带着一丝审视。

林星石愣了一下,随即反应过来,应该是张磊刚才的话被钱博士听到了。他如实点头:嗯,看了些教材,也做了些练习题。

钱博士笑了笑,随手拿起桌上的粉笔,在黑板上写下一行字:给定一个整数数组,找出所有满足条件的三元组[a,b,c],使得a+b+c=0,且a≤b≤c。要求不重复且时间复杂度尽可能优化。写完,他转身看向林星石:如果你能解出这道题,我就同意你加入计协。

钱博士的题目像一块石头扔进平静的湖面,激起阵阵涟漪。几个学长凑到黑板前,小声议论起来。

这题比两数之和难多了,还要去重,时间复杂度要求肯定更高。

这是去年编程竞赛的题目,听说连大四的学长都没几个人做出来。

不仅要找三个数,还要保证不重复,这对算法的要求太高了,一个大二新生怎么可能做得出来?

林星石却仿佛没听到这些议论,他的注意力完全集中在题目上。系统【思维敏捷Lv1】的双倍加成悄然发动,他只觉得大脑运转速度比平时快了一倍,各种解题思路在脑海中飞快闪过。

暴力解法?三重循环,o(n3)的时间复杂度,肯定不符合要求。

排序后双指针?先排序,然后固定一个数,用双指针找另外两个数,时间复杂度o(n2),空间复杂度o(1),这应该是比较优的解法了。

不过要注意去重,特别是在数组中有重复元素的情况下。

想到这里,林星石拿起粉笔,转身走向黑板。他的动作流畅而自信,粉笔在黑板上发出沙沙的声响。

学长们渐渐停止了议论,目光都集中在林星石身上。他们看着黑板上逐渐成型的代码框架,脸上的表情从怀疑变成了惊讶。

他居然用排序+双指针!有人小声惊呼。

这思路太清晰了,连去重的细节都考虑到了,完全不像大二学生。

林星石很快写完代码,放下粉笔,转身看向钱博士。老师,我写完了。时间复杂度o(n2),空间复杂度o(1)。排序后使用双指针,可以有效避免重复的三元组。他的声音平静,没有丝毫骄傲。

钱博士推了推眼镜,仔细检查着黑板上的代码。过了好一会儿,他才抬起头,目光中带着欣赏。思路清晰,代码简洁,完全正确。他说。

教室再次陷入寂静,紧接着爆发出一阵掌声。不过,在掌声中,也夹杂着一些不和谐的声音。

说不定是提前准备好的,一个留长发的学长小声嘟囔,哪有这么厉害的大二学生?

钱博士的目光从代码上移开,落在林星石身上,眼神里满是欣赏。这代码思路清晰,逻辑严谨,他说,尤其是排序+双指针的解法,既优化了时间复杂度,又考虑了去重的问题,非常出色。林同学,你很有天赋。

钱博士的话像一颗定心丸,让教室里的议论声小了下去。但那个留长发的学长却依然不服气,他站了起来,指着黑板上的代码说:我还是不相信一个大二学生能这么快写出正确的代码,说不定是抄袭的!

教室里的气氛瞬间变得尴尬起来。张磊想要开口解围,却被林星石用眼神制止了。

林星石不慌不忙地走到黑板前,拿起粉笔,在代码旁边画了一个简单的数组和双指针对照图。我们可以先对数组进行排序,他开始讲解,然后固定一个数,用两个指针分别从固定数的下一个位置和数组的末尾向中间移动,寻找和为目标值的另外两个数。

他的声音清晰而稳定,讲解深入浅出,连一些对算法不太熟悉的学长都能听懂。为了避免重复,当我们遇到相同的元素时,要跳过。这种方法的时间复杂度是o(n2),因为排序需要o(n log n),而双指针遍历需要o(n2),林星石继续说,空间复杂度是o(1),因为我们只需要常数级别的额外空间。

留长发的学长的脸渐渐红了,他张了张嘴,却没说出话来。其他学长则纷纷点头,看向林星石的眼神里充满了敬佩。

钱博士满意地笑了,他拍着林星石的肩膀说:欢迎加入计协!我看你很有天赋,有没有兴趣加入我的编程小组?我们正在做一些有趣的项目。

林星石心中大喜,这正是他想要的机会。加入钱博士的编程小组,不仅能学到更多的知识,还能接触到实际的项目,这对他未来的发展大有裨益。我当然有兴趣,他连忙答应,谢谢钱老师给我这个机会!

钱博士点了点头,转身对其他学长说:以后林星石就是我们计协的一员了,大家要互相学习,共同进步。

学长们纷纷鼓掌,表示欢迎。那个留长发的学长也走了过来,不好意思地说:刚才是我不对,我向你道歉。你的代码确实写得很好,我服了。

林星石笑了笑,伸出手说:没关系,大家都是来学习的。以后还请学长多多指教。

两人的手紧紧握在一起,教室里再次响起热烈的掌声。

藏书吧推荐阅读:地府归来,无情无义她杀疯了异世东京,携美丽式神驱邪除灵柠檬精老公的马甲掉了我就是能力多点你们慌啥我和美女室友的那些事我有一个世界,狗头金随便捡六零媳妇凶猛开局领导被抓,女友分手华语金曲肆虐,pdd反向抽烟书海第一混乱隐婚娇妻boss爱上瘾王大伦的演艺生涯游戏制作:论玩家为何又爱又恨重生之水墨一遇男神暖终身重生狂妻:夫人惊艳了全球娱乐:你是警察啊,咋成了狗仔王反派:离未婚妻来退婚还剩7天弃少归来,无法无天!左手黑剑,右手白剑,爆杀一切穿越八零:帝少老公VS俏农媳带上五岁妹妹走天下一不小心穿越成了老天爷东莞的爱情总让人意难平影视反派:从攻略欢乐颂开始支付九十九元:为你缔造神秘葬礼高武世界:那个书呆子居然开挂!我家仙府太费钱重生之绝世废少云龙山医仙黑色家族的秘婚:魅宠7分77秒我每天获得一百个舔狗愿做人间一散仙我的老婆怎么能这么可爱?兼职神豪,我真不是榜一大哥九零小夫妻的渔民生活现代武客行浴火重生:凤逆天下逍遥医圣神行无道将我除名?特种部队跪求我加入!重生八六幸福军婚徒儿太强了,九个师娘求放过重生80:我带全家起飞!嫁给权臣后,女配被娇宠了重生,和五个校花的日常团宠狂妃倾天下你是在做梦吗你是我的生生世世陆晨旭莫晓蝶
藏书吧搜藏榜:重生官场:我真的不想再升职了重生之重启2004漫威有间酒馆在黑暗中守护我真不想当神剑主,妹妹逼的!四合院之我是刘光齐某生物正虎视眈眈盯着我们软饭不软,闲婿不闲齐少的心肝天天闹这个明星来自地球闪婚七零俏中医,京城大佬宠上天超级银行卡系统房爹在手天下我有不要和奸臣谈恋爱绝世小神医这就是套路巨星真千金断亲随军,禁欲大佬日日宠反派手挽手,八零抖一抖八七暖婚之肥妻逆袭娇妻还小,总裁要趁早穿书反派:坏了,我成反派黄毛了娱乐秦时清冷白月光,是我意中人修仙正史天眼邪医御妻无术满级大佬她又掉马了大佬约我民政局见我的尤物总裁老婆妃常难驯:病娇战王,超级宠明渣好躲,暗夫难防我要赚10000亿全民游戏,我搬运小说开创功法四合院:我许大茂彻底黑化六经刀重生之股动人生修行的世界恐女的我和美少女旅行日常第一神婿鲤鱼王的精灵模拟器寡夫从良记我就打个游戏,怎么称霸宇宙了?我与极品美女特卫:中南海保镖穿越后,我成了国民女神道童下山,诸神退位止域主宰全系异能,我的天赋强到战力崩塌祈愿夏可嫡妃的逆袭豪门新欢
藏书吧最新小说:神之手:执掌万物蓝图开局支援藏西,我成了封疆大吏第十医院,专治异能病服务员?不,我是京圈小少爷抗战之海棠血泪诸天万界人生体验开局觉醒顶级异能,我要爽活一世娱乐:顶流小花怀里钻,我摊牌了欢喜:系统加持,校花房东太温柔港片:系统加持,舞女献媚尽风流香江的亚洲时代重返1979:从赤脚医生到国医时空守墓者高武:从琴姨上门道歉开始无敌重生:回到1983当富翁权欲之涡重庆谍战:敌特在行动激活万倍返还后,女神绷不住了死神当保镖!冰山总裁她心动了重生后,我从医神开始登上神坛我在不存在的古代行佛废土纪元:我的御兽有亿点特殊抗日战争之东方战场傻子得道成医仙高武:破灭虚空签到!从穷鬼到都市神话我的肉身是熔炉,神明也是燃料御兽之神:两个神级天赋就是狂!被首富认亲,修仙者身份藏不住了开局一颗海王珠,无边大海任逍遥都市修真:神医归来,已天下无敌重生:跟丈母娘搭伙,赶山致富!开局十连抽,我获得万倍天赋情绪共享之神民国:我是大泼皮傻子处世之道娱乐:我的文娱库时空军工:从宁海警佐到横推列强环球路上,我和我的破车成神了港综:我的小弟是武僧小人物也飒离婚后才发现她藏着最深情的谎言拜金前妻嫌我土,我离婚你哭什么撞破村长老婆好事后,我平步青云从香江大亨到女星干爹巨齿鲨进化:一口吞下一艘核潜艇惹她干嘛?这个小萝莉一拳爆星!信仰神只?不如拜我华夏先祖!重生后才发现原来我们都在等对方神医霸业