bigsai

其他

TopK,玩出花来了!

前言hello,大家好,我是bigsai哥哥,好久不见,甚是想念哇🤩!今天给大家分享一个TOPK问题,不过我这里不考虑特别大分布式的解决方案,普通的一道算法题。首先搞清楚,什么是topK问题?topK问题,就是找出序列中前k大(或小)的数,topK问题和第K大(或小)的解题思路其实大致一致的。TopK问题是一个非常经典的问题,在笔试和面试中出现的频率都非常非常高(从不说假话)。下面,从小小白的出发点,认为topK是求前K大的问题,一起认识下TopK吧!当前,在求TopK和第K大问题解法差不多,这里就用力扣215数组的第k个大元素
2021年12月14日
其他

一次倒在LRU上的经历

前言大家好,我是bigsai,好久不见,甚是想念!最近有个小伙伴跟我诉苦,说他没面到LRU,他说他很久前知道有被问过LRU的但是心想自己应该不会遇到,所以暂时就没准备。奈何不巧,这还就真的考到了!他此刻的心情,可以用一张图来证明:他说他最终踉踉跄跄的写了一个效率不是很高的LRU,面试官看着不是很满意要求写一个O(1)复杂度的LRU……后来果真GG了,后来发现这是力扣146的一道原题。防止日后再碰到这个坑,今天和大家一起把这个坑踩了,这道题我自身刚开始也是用较为普通的方法,但是好的方法虽然不是很难但是想了真的很久才想到,虽然花了太多时间不太值,总算是自己想出来了,将这个过程给大家分享一下(只从算法的角度,不从操作系统的角度)。理解LRU设计一个LRU,你得知道什么是LRU吧?LRU,英文全称为Least
2021年12月6日
其他

有这几个编程利器网站,再也不愁学习

工欲善其事,必先利其器,有好的武器才能打更好的仗,今天给大家分享一些程序员学习必备的编程学习网站。像谷歌、知乎、B站、各大博客csdn、掘金、思否这些家喻户晓的网站这里就不再进行介绍啦,相信大家可能一直在使用。今天给大家介绍12个(十大更好听)提高学习效率、非常实用的网站,希望对大家学习能有帮助!Stack
2021年12月1日
其他

备战蓝桥杯 这样准没错!

大家好,我是大赛(不是塞),好久不见,甚是想念。这段时间断断续续有些学弟问我参加蓝桥杯有木有一些建议,我也给了我的想法和看法。当然,网上对蓝桥杯的看法不一,我就针对大学生参与竞赛的目的和备战蓝桥杯两个方面给大家分享一下。竞赛的目的当我们报名一个比赛的时候,你要清楚你报名的目的是什么,有目的才能有动力去变得更好成就更高。通过竞赛驱动学习:通过参加竞赛提高自己视野、编程能力、算法水平,很多人报名的时候都是小白的起点一点点摸索,在比赛准备的阶段不断学习,不断进步,这个备赛的过程给自己带来很大成长,
2021年11月24日
其他

pdf更新啦,快来瞧瞧!

大家好,我是bigsai,第一次将部分文章整理成pdf分享给大家。第一版本实在八月底发布的,这版本十一月中旬(刚好今天11.15),把部分文字更新到pdf上,最近有点忙原创更新频率较低(自我检讨一下😔😔)。这次更新内容主要有:近两个月的相关文章、标签优化、结束开头语优化、部分错误更改。把一些(部分)客套话和结尾求三连的内容删了。因为在整理pdf方面没啥经验,目前还是md直接导出的pdf的,看了下有些部分代码太长太占页面,有些部分图片太长也很占地方,有部分文章还尝试不同风格显得不那么条理,有些地方页面突然分割也很影响视觉体验……有些有gif图的可以到公众号或者博客看看原文章。虽然有很多缺点和问题,这些地方后面也在想办法考虑一点点优化,也欢迎大伙提出宝贵的意见!当然这个仓库也是开源的,有兴趣一起维护的可以维护。这次的pdf比上次大一些(加了些文字、删了些没用的话),页数差不多(单张页面调大了一些),我的目标就是将这个专栏体系化记录下来,能够帮到更多初学者们,让数据结构与算法更加容易理解。至于后期的计划是将这个内容一分为二:分成基本数据结构和高频算法技巧
2021年11月15日
其他

校园网断线重连,用爬虫来搞定!

前言hello,大家好,我是大赛哥(弟),好久不见,甚是想念。最近因为有小需求研究了两登录的加密,也成功解密加密的参数,在这里给大家分享一波。前段时间,有个同学他实验室服务器校园网老是掉,想问问有没有啥断线重连的方法。当时因为比较忙并没有研究,并且也很久没有搞了,昨天没事的时候研究分析了一下,这个过程可能对有基础的人来说是个小菜一碟,但是对于没了解过的可以体验一波说不定后面就用得着。有时候会了一个其他的再会,也就简单了。这个内容的范畴属于爬虫中的进阶:JS解密
2021年11月7日
其他

动态规划,它来了

前言大家好,我是bigsai,好久不见,甚是想念(天天想念)!很久前就有小伙伴被动态规划所折磨,确实,很多题动态规划确实太难看出了了,甚至有的题看了题解理解起来都费劲半天。动态规划的范围虽然确实是很广很难,但是从整个动态规划出现的频率来看,这几种基础的动态规划理解容易,学习起来压力不大,并且出现频率非常高。这几个常见的动态规划有:连续子数组最大和,子数组的最大乘积,最长递增子序列(LIS),最长公共子序列(LCS),最长公共子串,最长公共子串,不同子序列。什么是动态规划首先很多人问,何为动态规划?动态规划(Dynamic
2021年10月28日
其他

卷王 ,不能倒在刷力扣的路上

前言大家好,我是bigsai,好久不见!最近在一些群聊、私聊中遇到很多小伙伴的一个问题就是:刷题,大家也都重视到算法刷题对冲击大厂的重要性,越来越多的人开始卷起来了!但有的小伙伴是这样卷起来的,倒在刷力扣的路上,卷的自己都懵了。今天,我就给偏初学者的各种问题谈谈个人刷力扣这方面的观点。刷哪些题?大家刷力扣,目标肯定让自己有能力面对大厂的面试笔试,小部分就是为了坚持刷题保持感觉提升自己算法编程能力,那么你肯定要把重点内容先掌握,哪些是重点内容呢(今天只讲题的重点)?剑指offer:剑指offer:https://leetcode-cn.com/problem-list/xb9nqhhg/剑指offer的优先级还是很高的,就业必刷。在牛客上和力扣平台上都可以刷剑指offer的题,但是更推荐力扣这个平台,我第一次刷剑指offer就是和大家在牛客平台上刷的,部分题(很少)牛客ac的代码提交到力扣试了一下发现wa了(也找到问题)。所以牛客测试数据相对还是比较弱的,力扣上的测试数据相对较多,在大部分情况,你过了代码基本上就没有什么逻辑漏洞了。剑指offer名气大,是因为剑指offer的题目是真的经典!短短66道题,内容覆盖常见数据结构比如链表、二叉树、图、队列、栈、哈希表等等,常见的算法和经典问题包过二分、动态规划、全排列问题、滑动窗口、贪心、分治、排序、位运算、dfs、bfs等等,刷完这些题,是真的可以收获和学到很多!另外推荐刷剑指offer的原因是因为剑指offer在面试笔试中出现是真的非常高频
2021年10月18日
其他

这个树,怎么一下就平衡了?

什么是AVL树大家好,我是bigsai,好久不见,甚是想念,今天给大家讲讲AVL树。对于树这种数据结构,想必大家也已经不再陌生,我们简单回顾一下。在树的种类中,通常分成二叉树和多叉树,我们熟悉的二叉树种类有二叉搜索(排序、查找)树、二叉平衡树、伸展树、红黑树等等。而熟悉的多叉树像B树、字典树都是经典多叉树。普通的二叉树,我们研究其遍历方式,因为其没啥规则约束查找和插入都很随意所以很少有研究价值。但是二叉树结构上很有特点:左孩子和右孩子,两个不同方向的孩子对应二进制的01,判断的对错,比较的大小
2021年10月9日
其他

最小生成树,秒懂!

前言在数据结构与算法的图论中,(生成)最小生成树算法是一种常用并且和生活贴切比较近的一种算法。但是可能很多人对概念不是很清楚,什么是最小生成树?一个有
2021年9月29日
其他

二叉树各种遍历真的很难?大sai带你拿捏!

前言大家好,我是bigsai,好久不见,甚是想念!今天带大家征服二叉树的前中后序遍历,包含递归和非递归方式,学到就是赚到!很多时候我们需要使用非递归的方式实现二叉树的遍历,非递归枚举相比递归方式的难度要高出一些,效率一般会高一些,并且前中后序枚举的难度呈一个递增的形式,非递归方式的枚举有人停在非递归后序,有人停在非递归中序,有人停在非递归前序(这就有点拉胯了啊兄弟)。我们回顾递归,它底层其实是维护一个栈,将数据存到栈中,每次抛出栈顶的数据进行处理(也就是递归、dfs的方向化、极端化枚举特征非常明显),我们驾驭递归的时候更重要的是掌握上下层之间的逻辑关系。而非递归方式我们除了需要掌握上下层的逻辑关系之外,要手动的处理各种条件变更的细节,
2021年9月16日
其他

字节一次面试,被二叉树的层序遍历捏爆了!

前言大家好,我是bigsai。在数据结构与算法中,二叉树无论是考研、笔试都是非常高频的考点内容,在二叉树中,二叉树的遍历又是非常重要的知识点,有个小老弟说他字节面试时候二叉树之字形打印紧张没写出来,力扣原题自己还写过很懊恼,我也回想起自己刚学习时候那段"混乱的"斗争,今天给大家讲讲二叉树的层序遍历。前面介绍了二叉排序树的构造和基本方法的实现,遍历也是比较重要的一环,并且二叉树的层序遍历也是bfs的最简单情况,这里我就将二叉树的层序遍历以及常考问题给大家分享一下。在了解二叉树的遍历之前,需要具备数据结构与算法有队列、递归、栈、二叉树,这些内容咱们前面都有讲过,有这方面知识欠缺的同学可以往前翻一翻看一看!层序遍历层序遍历,听名字也知道是按层遍历。一个节点有左右节点,按层处理就是当前层兄弟节点的优先级要大于子节点处理的优先级,所以就是要将子节点放到后面处理,这就适合队列这个数据结构用来存储。对于队列,先进先出。从root节点push到队列,那么队列中先出来的顺序是第二层的左右(假设都有),第二层每个节点执行的时候按照左右顺序添加到队列,第三层的节点就会有序的放到最后面……按照这样的规则就能得到一个层序遍历的顺序。实现的代码也很容易理解:public
2021年9月13日
其他

我的第一本pdf!

大家好,我是bigsai,第一次将部分文章整理成pdf分享给大家。自己写东西断断续续也不少时间了,也写了不少东西(虽然是偏向小白),这个其实花费的时间还是比较多的,这次的话主要将数据结构与算法中一些文章整理出来,初步整理成一版pdf,先分享给大家。因为在整理pdf方面没啥经验,目前还是md直接导出的pdf的,看了下有些部分代码太长太占页面,有些部分图片太长也很占地方,有部分文章还尝试不同风格显得不那么条理,有些地方页面突然分割也很影响视觉体验……有的地方个人钩子可能忘记删有的图片可能有问题(动态gif后面会看情况删掉),有些有gif图的可以到公众号或者博客看看原文章。虽然有很多缺点和问题,这些地方后面也在想办法考虑一点点优化,也欢迎大伙提出宝贵的意见!当然这个仓库也是开源的,有兴趣一起维护的可以维护。看着pdf生成其实内心还是有一点欣慰的,这个pdf第一版本就是大概60M,258页,我的目标就是将这个专栏体系化记录下来,能够帮到更多初学者们,让数据结构与算法更加容易理解。暂定这个pdf版本1-2月更新一次吧,每次更新会同步到Github仓库中,也会在公众号上通知大家。近期会将以前写的其他数据结构算法部分(未优化)优化更新上去,还有就是十大排序各个排序更详细的加上去(目前是精简版十大排序)。至于力扣写过不少我觉得质量还不错的题解,后面会整理一份力扣的题解pdf,短期内可能放不出来。不过个人实力和能力在这个阶段有限,可能有不少错误之处,如果有老铁发现还请以各种方式告知一声!希望这个pdf能够越来越好,能够帮到更多的人!在pdf末尾附上了一些个人经历和经验(在后期完成体系会把这部分去掉)。个人的话目前已经9
2021年8月30日
自由知乎 自由微博
其他

Floyd是咋求图的最短路径?

前言在图论中,在寻路最短路径中除了Dijkstra算法以外,还有Floyd算法也是非常经典,然而两种算法还是有区别的,Floyd主要计算多源最短路径。在单源正权值最短路径,我们会用Dijkstra算法来求最短路径,并且算法的思想很简单—贪心算法:每次确定最短路径的一个点然后维护(更新)这个点周围点的距离加入预选队列,等待下一次的抛出确定。虽然思想很简单,实现起来是非常复杂的,我们需要邻接矩阵(表)储存长度,需要优先队列(或者每次都比较)维护一个预选点的集合。还要用一个boolean数组标记是否已经确定、还要……总之,Dijkstra算法的思想上是很容易接受的,但是实现上其实是非常麻烦的。但是单源最短路径解算暂时还没有有效的办法,复杂度也为O(n2)。而在n点图中想求多源最短路径,如果从Dijkstra算法的角度上,需要将Dijkstra执行n次才能获得所有点之间的最短路径,不过执行n次Dijkstra算法即可,复杂度为O(n3)。但是这样感觉很臃肿,代码量巨大,占用很多空间内存。有没有啥方法能够稍微变变口味呢?答案是有的,今天就带大家一起了解一下牛逼轰轰的Floyed算法。算法介绍什么是Floyed算法?Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。简单的来说,算法的主要思想是动态规划(dp),而求最短路径需要不断松弛(熟悉spfa算法的可能熟悉松弛)。而算法的具体思想为:1
2021年8月26日
其他

七夕都怎么找和女神的最近距离?

前言大家好,我是bigsai,今天给大家讲讲Dijkstra算法,下次拿着这个算法找女神少绕路,有女朋友的可以试试行不行的通。对于Dijkstra算法,很多人可能感觉熟悉而又陌生,可能大部分人比较了解bfs和dfs,而对dijkstra和floyd算法可能知道大概是图论中的某个算法,但是可能不清楚其中的作用和原理,又或许,你曾经感觉它很难,那么,这个时候正适合你重新认识它。Dijkstra是啥?其实Dijkstra(迪科斯彻)是一个人,被称为结构程序设计之父,他提出goto有害论、信号量、原语等,创造解决银行家算法、哲学家进餐问题、Dijkstra算法等等,在1972年获得图灵奖(计算机界诺⻉尔奖),今天咱们就学习Dijkstra算法。Dijkstra算法干啥的?Dijkstra是用来求单源最短路径的,也就是在一个图中,从一个点计算到达其他点的最短距离,再形象一点,就是比如七夕你捧着鲜花去找女神,有点距离,在不堵⻋没红绿灯情况下怎么找到一条最短的路径:这不是一眼就能看出来嘛!还要什么算法?enum,如果路径很多像这样呢?就拿上图来说,如果各条路⻓度都已知,那么可以使用dijkstra算法计算你到图中所有节点的最短距离(不过你想要的就是和女神的距离最近)。不过这个单源最短路径你可能产生一些疑惑:单源什么意思?一个源头,从一个顶点出发,Dijkstra算法只能求一个顶点到其他点的最短距离而不能任意两点。和bfs求的最短路径有什么区别?bfs求的与其说是路径,不如说是次数。因为bfs他是按照队列一次一次进行加入相邻的点,而两点之间没有权值或者权值相等(代价相同)。bfs求最短路径一般无权值路径(只代表联通性)或者权值相等,仅仅用次数就能表示路径⻓短的情况,最典型的就是迷宫问题bfs搜索移动一次路径为1就加一次。Dijkstra在处理具体实例的应用还是很多的,因为具体的问题其实带权更多一些。比如一个城市有多个乡镇,乡镇可能有道路,也可能没有,整个乡镇需要联通,如果想计算每个乡镇到a镇的最短路径,那么Dijkstra就派上了用场。算法分析对于一个算法,首先要理解它的运行流程,对于Dijkstra算法而言,首先要知道其适用条件和环境:一个连通图,若干节点(节点可能有数值),但是路径一定有权值并且不能为负(否则Dijkstra就不适用)。Dijkstra的核心思想是贪心算法的思想,那什么是贪心呢?贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。对于贪心算法,在很多情况都能用到,下面举2个不恰当的例子!1
2021年8月15日
其他

小女孩把快速幂奥秘探索出来了!

前言大家好,我是bigsai,之前有个小老弟问到一个剑指offer一道相关快速幂的题,这里梳理一下讲一下快速幂!快速幂是什么?顾名思义,快速幂就是快速算底数的n次幂。你可能疑问,求n次幂算n次叠乘不就行了?当n巨大无比时候,如果需要末尾有效尾数值等信息这个可能超出计算机运算范围。有多快?快速幂时间复杂度为
2021年8月9日
其他

项目的准备,我想说这些……

hello,大家好,我是bigsai。最近发了字节实习面经和腾讯实习面经,刷题和八股文很多小老弟知道套路,知道该怎么去做,但是很多人比较匮乏项目这方面的经验,这方面的话我的经验也不是很多,就分享一下自己的看法,大家可以适当的看看。不过上牛客看了最近的面经和自己几轮面试经验,感觉各家对项目的重视还是蛮大的,所以提早吃透自己的项目,做好介绍和描述优化,能够在冲刺面试专心备战八股文和面经。项目重要嘛项目真的蛮重要的!对于简历模块来说,一般也就是基本信息、个人技能、竞赛荣誉、(有效)实习经验、项目经验、个人评价这几个核心模块,在向互联网公司投递的过程中很多时候咔嚓的一下就被刷了,咔咔投,咔咔被刷。在各个模块中,大部分指标都是一些偏硬的短期能够优化的空间很少,而个人发挥较大空间的就是项目经验和个人评价这两块,但个人评价写的都很优秀的(吹吹自己还是会的)但是项目写的水平就参差不齐,有的人写着写着就写偏了……
2021年7月19日
其他

暑假结束,我的四个暑假

大家好,我是bigsai。上周四回家,周五周六周日在家呆了三天,今天已经身处高铁回学校了,开启暑期打工人生活,这个暑假5天就结束了,真短!暑假,对于很多人来说是个非常好的机会,两个月的时间相对自由,没有课程、考试压力,如果认真利用起来可以学到很多内容。自从离开高中,其实还有一个高三毕业的暑假,那个暑假大部分人可能玩了一暑假或者是做零工挣钱,反正是不会学习的,我当时的话也是在可成科技(电子厂)流水线上干了两个月夜班,每天12小时最后挣得钱一部分买了手机、一部分留作部分生活费。有很多学弟妹问我的暑假以前是怎么办的,还有考研上岸的问我去年暑假如何安排的,我在这里做一个简单的分享和建议!大一暑假大一的我,并没有什么学习的意识和欲望,当时除了高数成绩还行之外,其他专业课(c++之类)成绩很拉胯,但是暑假两个月,并且也这么大了家里肯定也不会允许我玩两个月,我家在乡镇上也并没有什么好的活干,所以当时就找了一些招临时工的工厂。但是一个人去工厂干活那是一件非常枯燥的事情,并且大部分人大一肯定不会学习,我就拉了我一个大学舍友(一个地级市的)还有玩的比较好的高中同学,有的再把他的好兄弟拉个来,这样我们一行12人(我们分配在一个大宿舍中)都在一个罐头厂干活。这个暑期工的体验就是:虽然不无聊,但是非常非常累,因为罐头厂装罐头每天工作12个小时,只有中间一小时不到的吃饭时间(对,就是这么残酷),然后食堂的饭可以说又少又难吃),后面我们自己买了老干妈、榨菜、咸菜就饭,回寝室之后每天特别累吃完洗洗然后一起打两把王者荣耀就得睡觉了,虽然辛苦但是心情还是快乐的(痛苦并快乐着),在厂子里偷吃黄桃,后面做水果罐头有菠萝、葡萄趁着阿姨不注意那抓起一把就往嘴里塞!呵呵呵刺激。其中某种某条流水线这个罐头厂工资是按天算的,正常没有休息,每周调整白夜班的时候会有一天的休息时间,当时一天的工资是夜班110元一天,白班100一天,我干了不到40天中间请过假也就挣了三千多块钱这样,现在想想那时候真的太辛苦了,当时每天穿靴子、手套常站着非常累,后半夜脚疼的受不了只能来回走动,后面脚底掌长茧子(hhh是真的)。所以如果你是计算机的,去这种工厂就是浪费时间(这个坑我算是踩过了),打算走计算机这条路的话可以说干任何非计算机(知识)相关的兼职都是浪费时间!当然偶偶干干家教这种简易型也还算可以,大一暑假,还是建议多学计算机相关的内容和技术,刷题是一个不错的选择。入门一门开发技术也是一个不错的选择。大二暑假大二这时候稍微大一点,意识到自己暑假肯定不能这么混了,要有自己的安排,其实我大二那时候主要学Java、爬虫、刷题,然后当时暑假主要干两个事情吧,一个是学车考驾照(大一大二时候学车在另一个校区不方便),另一个就是报名参加了杭电ACM多校暑期10场比赛。刚好当时上午练车,多校比赛正常是12点开始回家有时候就能赶得上比赛。当时还自信满满打算好好学习,但是参加两次就打退堂鼓了,人家清华的、北大的、南京外国语高中、杭州学军中学、江苏淮阴中学、朝鲜两个学校,他们真的太猛了,顶级几个强队次次能能AC10多道题,好多强队能AC5-8道题,我们这个渣渣队就只能AC签到题,属实是意识到差距巨大,并且人家那时候也是大二、大三核心发力,天天在人家多校群里不敢说话。18年多校排名大佬队伍意识到自己的差距后暑假后期就立马转变思路:
2021年7月12日
其他

腾讯面经来了(IEG后台开发)

前言大家好,我是有点惨bigsai老弟,今天给大家分享自己投递腾讯上海IEG后台开发职位的面试经历分享。腾讯感觉整个流程比较慢,这周才刚刚走完HR面,一二两轮技术面在同一周,三面隔一周,HR面又隔一周,但是每轮面试官的态度还是非常棒的,面试体验很良好。有些问题问的稍微详细但是记不太清我就写一些大方向问题,还有些遗忘了(事后回顾的)。对于腾讯面试内容(不同部门区别可能很大,我只说说我的),可能我是实习面试,问的内容感觉还行,也没有算法题,只有一些问了逻辑思维题。八股文问的不是很多,更偏向于项目、场景问题,如果真实做过项目的话优势可能比较大,如果项目准备比较少,单单准备八股文可能会吃亏。不过我技术也一般般,能过可能是比较缺人和运气比较好!腾讯一面
2021年7月7日
其他

字节面经(日常实习)

大家好,我是bigsai,今天给大家分享自己字节跳动面试经验分享。不过本文很多都是个人观点,不一定准确!enum我面的岗位是后台实习开发,具体部门是懂车帝,总体感觉就是字节的流程真的好快,只要安排面试,那流程接着很快。大概是上上周投递一波简历,然后上周一约的面试,然后周二下午三场面试(腾讯三面)
2021年7月5日
其他

写给小白看的递归(硬核)

大家好,我是bigsai,之前有老弟说弄不懂递归,今天给大家讲讲递归。什么是递归?递归:就是函数自己调用自己。子问题须与原始问题为同样的事,或者更为简单。递归通常可以简单的处理子问题,但是不一定是最好的解决方式。对于递归要分清以下概念:递归是自己调用自己递归通常不在意具体操作,只关心初始条件、结束条件和上下层的变化关系。递归函数需要有临界停止点(结束条件),即递归不能无限制的执行下去。通常这个点为必须经过的一个数。递归可以被栈替代。有些递归可以优化。比如遇到重复性的可以借助空间内存记录而减少递归的次数认识递归,递归函数通常看起来简易但是对于初学者可能很难去理解它,拿一个递归函数来说。static
2021年6月24日
其他

光刷题不参加这些算法竞赛?太亏了

前言大家好,我是bigsai。最近有些学妹问我咱们计算机专业的有哪些比赛可以参加呢?我眉头一皱,想了想咱们计算机专业竞赛好像确实蛮多的,在这里给捋一捋。竞赛的目的有很多,有的是为了参加竞赛提高个人能力,有的是为了拿到荣誉为自己保研、就业、考研加分,还有的是为了奖金。竞赛的类型也有好多种,有算法类、工程类、科研类的,不同竞赛的难度不同、社会认可度不同。根据自身条件,选择合适的比赛参与历练自己,也算是拓宽自己的认识面,以后和人聊起来也能说上两嘴。今天主要给大家介绍一些算法类竞赛。算法类竞赛大家听过或者接触的比较多,有些竞赛奖项的荣誉能够让自己终身受誉(不夸张),不过算法类竞赛一般都是荣誉型更多,奖金很少有。刷题的同时要看看有没有适合自己的比赛,用自己的能力拿个奖去证明一下自己的能力,有机会就要抓住争取,说不定以后就会对自己带来很大帮助!下面会介绍一些赛制和比赛,在介绍比赛之前,先把一些专业术语搞清楚:AC:Accept,通过AK:All-Killed,AC了所有题爆零:一题都没通过(一般赛前自嘲这次又要爆零了)WA:Wrong
2021年6月21日
其他

原以为哈夫曼树、哈夫曼编码很难,结果……

哈夫曼树介绍大家好,我是bigsai。原以为哈夫曼树、哈夫曼编码很难,结果它很简单啊老铁们!哈夫曼树、哈夫曼编码很多人可能听过,但是可能并没有认真学习了解,今天这篇就比较详细的讲一下哈夫曼树。首先哈夫曼树是什么?哈夫曼树的定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman
2021年6月16日
其他

排个课表学会了拓扑排序!有点意思

前言大家好,我是bigsai。拓扑排序,很多人都可能听说但是不了解的一种算法。不知者大多会提出这样的疑问:这是某种排序算法?这好像是一种图论算法?图也能排序?非线性结构在传统意义上确实不太好排序,而拓扑排序它是对有向图的顶点排成一个线性序列。并且不一定唯一。什么是拓扑排序?对一个有向无环图(Directed
2021年6月7日
其他

考研学弟问的n个问题,梳理一下分享给大家

前言篇我们很多时候看到很多经验分享,很多情况都是一些资质优越、能力优秀的人,分享他一些成功的经验和学习方法,当我们偶尔看下这些经验确实会给我们一个激励的作用,常常感叹某个大佬:卧槽,真牛逼!但有时候看的太多可能反而会让自己消极甚至自卑,失去一些信心,觉得自己和他差别很大。每个人可能确实有每个人的追求和目标,生活中其实更大的群体是个普通人,找到一个适合自己的方式和道路很重要,别人的经验只能被很小的借鉴但很难被复刻。今天不分享大佬的故事,只分享为了目标而正在努力考研小老弟遇到的疑惑,并且很多人都处于这个阶段,我把个人的一些意见给大家分享一下。当然今天的视角是趋向普通大众,比较接地气一点。大部分人在学校的前几年可能是浑浑噩噩(包括我自己也是),大一大二无感,到了大三开始要选择未来的路才开始踌躇犹豫。望着身边的大佬们已经有了很好的去处或者方向,自己难免会焦急、浮躁起来,想猛的学猛的进步,却发现效果离自己的预期相差甚远。对于这些小老弟,我想说的就是:先认清形式规划路线,再努力学习。在仅剩几个月的努力时间中,无论是考研还是找工作,找到一条适合自己的学习道路非常重要,切勿盲目跟从,下面就整理了一位读者的系列疑问,并谈谈我的看法。疑问篇这个小老弟来自湖北一个不知名的二本学校,他的经历和疑惑可能大部分人也曾遇到过或者即将遇到过。他在去年12月份时候加的我,向我咨询了一些考研、学习的问题,第一次就聊了很多,然后我就去洗澡了他还有很多疑问。我对他的第一印象就是:确实是个萌新。来自他的问题我梳理一下很多人想知道的问题。问题一:研究生每天干嘛?研究生肯定是要看论文和文献的,毕竟这是毕业之事,但是研究生也有很大区别的,研究生分为学硕和专硕,学硕大多考数一英一(考试内容范围大一些),专硕大部分数二英二,专业课也有可能不同具体要看学校的安排了。专硕的话理论上科研压力小一点,学校对专硕论文或毕业要求会低于学硕的(具体还得看学校要求、老板要求)。研一的话基本有课的,上的课程跟科研型关联大一点,人工智能啥的,搞开发的话还是得靠自学,有的老板有活可能会让你干的,不同的老板是完全不同的体验:有的老板就是压榨你干的活跟工作确实没关(拉项目型),有的老板要你跟他一起搞科研(年轻居多),有的老板还让你帮他打杂(写ppt、写文档等等)……有的老板压榨了会给钱,有的老板压榨了也不见分文,留下怨声载道。如果两年制的研究生研一下就要准备春招提前批或者暑期准备秋招内容,这样一看研究生的生涯真的好快,并且还没啥论文压力。这些人研二可能一部分时间实习,一部分时间准备毕业。正常2.5或者3年的话研二大部分都在搞小论文、干活/实习,各个老板的要求不同,毕业要在学校最低要求基础上满足老板要求(老板权利非常大)。有的老板让实习,但有非常非常多的老板是不放实习的,要在实验室帮老板干活压榨(非常多),所以如果成功上岸选的老板也非常重要(很多老板研究方向很偏或者很难找工作,或者算法岗普通人很难找工作)。当然研二下暑期实习也要准备的,那个暑假暑期实习比较重要,没大厂实习经验裸的秋招难度挺大的。研三的话我的同门学长大部分就是先秋招忙大论文毕业了,因为研究生大论文要求还是蛮高的,和本科要求不是一个档次的,要有创新点和工作量,搞不好真的可能延毕的。所以总的来说,大部分研究生看论文看文献当前就只是为了达到毕业要求,满足工作要求的。大厂算法岗的话非名校牛人还是挺有难度的。而大部分工作需要的前端、后端或者测试等方向具体内容,还是要自学的。问题二:考研要是没考上怎么办?明确的说:不能脚踏两只船,边准备考研,边准备找工作大概率既考不上也找不到好工作最后只能草草收场,毕竟你又不是神,没有那么多的精力。所以选定走考研这条路,光考研内容就够你折腾很久的,是看张宇还是看汤家凤呢,是做1000题还是1800呢还是660呢,看视频你可以是认为和人交流的过程,你喜欢那个老师看那个老师视频做他的题目就好了,毕竟那几个老师已经经市场确定那么多年各有风格特色的。考研会凉这个事情还是很正常的,综合来看凉凉的概率是要大于一半的,当然那一半凉的原因大部分是蛇皮并没有踏实准备,也有部分是因为运气不好没发挥好、学校突然太炸等情况。但总的来说踏踏实实、稳稳当当的大部分其实还是上岸了的。另外,防止凉方面除了好好准备初试复试,择校择专业也是很重要的,通常来说选择的学校比自己当前高1-2个层次最好,如果本校就不错的话考本校也可。今年看到某二本院校计算机学院只有个位数的人上岸一些普通双非院校,还有几个是调剂去其他地方的心中还是很震惊的,感受到在考研内卷中弱势群体的一丝丝凄凉,不得不承认由于前面很多年的积累在暂时学习考试能力方面还是有很大差距的,择校除了要自己满意也要贴合实际,看看历年上岸名单,你这一步跳多高要根据你的学习能力来看的,可以头铁但真没必要。还有就是择校考虑学校是否压分,有的学校专业课压分严重、复试又很晚这种你如果复试凉了想调剂,那就真的很难。如果真的凉了呢?这种情况真的存在的,去年的我就是本来就凉了去找了一份工作的(去年疫情五月下旬才开始复试),凉了肯定会遗憾这是难免的,心有不甘二战再来一年也能接受(二战知识巩固上岸概率更大一些),不想再战那就找工作。春招的话虽然进大厂可能希望很渺茫,但进好的普通公司还是有机会的,凉了就抓紧写简历,找队友一起投、一起面试分享经验,如果你有一定开发经验和能力(学起来很快的)找到的不一定比秋招的同学差,经过考研洗礼,你也有一定学习能力和计算机专业知识,这些在面试能有作用的。总的来说,既然选择一条路,就要乐观一点前进,上岸当然是最好的,凉了的话就立马调整心态去找工作权当体验这个过程。如果你还没到考研时候,可以学点开发技术、做点项目,留条后路。一些其他问题:考研会看本科成绩嘛?会看,但就是看看而已。暑期留校复习嘛?留校,一定要留,个别自制力强神仙可以忽略。可以边考研边抽点时间学技术吗?这样确实太贪心了,暑假前可以学点无所谓,到了暑假之后就没必要了。如果学校复试有机试但是自己没有编程能力,可以考虑暑期结束前每天一两道算法题(难的不刷控制时间)初步有个基础刷题能力,然后初试完玩几天再正式认真投入刷题。复试会问什么?不一定,复试也看运气,基本三四个老师组成一个小组,问你啥就要看你碰到的老师是哪个方向的了,不过有自我介绍可以利用引导老师问你那方面的问题,但总的来说还是数据结构、操作系统、数据库、计算机网络、组成原理这些基础专业课问题。考研要买学校专业课资料吗?要买的,尤其是自主命题的学校,各个学校出题风格可能短期内不变,搞到他们学校历年回忆版试题和本科生期末考试卷去研究一下还是很有必要的。当然这些资料可能有些贵,对于专业课第一轮学习资料,推荐王道就够了,题量很多。学校会歧视双非吗?不能说歧视双非,只能说更喜欢好的学校,不过这方面影响不一定很大,现在总的来说复试还是很公平的,强者分高,学校、本科成绩只能让老师复试时候对你的初始印象比较好。如果你面试这一轮回答的很好,老师们会这么觉得:这孩子学校不错、成绩不错、能力也强,不孬!但你如果表现不好,老师们可能会觉得:这回答的……
2021年6月3日
其他

环形链表找入口,真的太妙了

链表是否有环问题看似简单,但实际处理上有很多需要注意的,这个问题是非常高频笔试面试题,记忆不牢固容易遗忘,可以认真看看学习一波!当然今天这两题对应力扣141和力扣142,有个小伙伴就在某手面试中遇到了。判断链表是否有环问题描述:给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪
2021年5月31日
其他

这样讲原码、反码、补码,帮学妹解决困扰了三天的问题

前言补码是给机器看的,原码是给人看的,反码是二者的桥梁,原码反码补码虽然是简单问题,但确实很多人很长时间没有搞明白和深入思考,这篇把自己学习和理解过程记录下来,刚好一个学妹问到这个问题。本篇只讲原码、反码、补码,位运算相关可以看这篇。故事是一个真实的故事,前两天要被一位小学妹折磨死,原码、反码、补码不懂就算了,讲了一遍还不懂,断断续续问了三天!没错,是三天!我搞不懂是二进制太难还是我太难了呢?你们不信?立图为证:她这问的给我直接问懵逼了,二进制符号位不参与运算?我怎么听得给我都听糊涂了,哈哈哈,后来我就给他说了要参加运算,再后来又一个问题:她这么确定的眼神给我搞得都有点懵逼,都吓得我打一段代码去验证一下结果没毛病,又巴拉巴拉给她讲了一通。我觉得应该可以了吧,结果在凌晨1.30的时候……算了,算了,这孩子没得救了,不管了,得让她静静……我也得静静,梳理一下自己曾在原码、反码、补码上的困惑。记得刚学c++的时候:这啥玩意代码不要求,不学刚学操作系统、组成原理的时候:emumm,跳过跳过。考研时候:会而不深刻。所以以前的我也一直没能搞懂二进制,并且很排斥二进制,总感觉它没用还又烧脑。但事实上二进制这个知识是无论如何也避免不了的知识点。想着要拯救更多苦于二进制或者说原码反码补码的小学弟小学妹们,我得站出来做点什么,学妹直呼内行!二进制数字什么是二进制?二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示
2021年5月24日
其他

520,花了一夜给女朋友写了个走迷宫游戏

起因先看效果图(文末有动态图)(在线电脑尝试地址http://biggsai.com/maze.html):项目github地址:https://github.com/javasmall/mazegame作为程序猿,常常因为身务繁忙,经常忙于coding很少闲暇来顾及女朋友,也常被吐槽为渣男。但是,渣着渣着,却发现520到了。卧槽,520?!我们常常后悔自己冲动时候说过的话,我准备个毛线,啥都没准备,但好面子的我也不可能随随便便欺骗人家女孩子(虽然已经骗了😭),习惯性打开淘宝,逛着看看有没有啥合适的,一想今天已经19号了,卧槽要凉了难道?一想还有美团补救一下可以送的到,打开美团发现都是吃喝玩,完蛋,真的要凉了。深夜,我在忏悔自己说过的大话,没本事不能瞎说啊,一晚上啥也干不了哇。等等,还有一晚上耶!此时我突然眼前一亮,对于程序猿,一晚上也能制造属于他的浪漫!翻开各种搜索引擎、博客搜素一番:程序员520表白神器
2021年5月20日
其他

字典树,不就有点不一样的一颗树

什么是字典树字典树,是一种空间换时间的数据结构,又称Trie树、前缀树,是一种树形结构(字典树是一种数据结构),典型用于统计、排序、和保存大量字符串。所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。可能大部分情况你很难直观或者有接触的体验,可能对前缀这个玩意没啥概念,可能做题遇到前缀问题也是暴力匹配蒙混过关,如果字符串比较少使用哈希表等结构可能也能蒙混过关,但如果字符串比较长、相同前缀较多那么使用字典树可以大大减少内存的使用和效率。一个字典树的应用场景:在搜索框输入部分单词下面会有一些神关联的搜索内容,你有时候都很神奇是怎么做到的,这其实就是字典树的一个思想。图片真假可自行验证对于字典树,有三个重要性质:1:根节点不包含字符,除了根节点每个节点都只包含一个字符。root节点不含字符这样做的目的是为了能够包括所有字符串。2:从根节点到某一个节点,路过字符串起来就是该节点对应的字符串。3:每个节点的子节点字符不同,也就是找到对应单词、字符是唯一的。一个字典树设计实现字典树上面已经介绍了什么是字典树,那么我们开始设计一个字典树吧!对于字典树,可能不同的场景或者需求设计上有一些细致的区别,但整体来说一般的字典树有插入、查询(指定字符串)、查询(前缀)。我们首先来分析一下简单情况吧,就是字符串中全部是26个小写字母,刚好力扣208实现Trie树可以作为一个实现的模板。实现
2021年5月12日
其他

面试官让手写各种队列,俺差点点没写出来

前言栈和队列是一对好兄弟,前面我们介绍过一篇栈的文章(栈,不就后进先出),栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出入口,只能后进先出(在外面的先出去,堵在里面先进去的就有点倒霉)。而队列就好比是一个隧道,后面的人跟着前面走,前面人先出去(先入先出)。日常的排队就是队列运转形式的一个描述!栈是一种喜新厌旧的数据结构,来了新的就会处理新的把老的先停滞在这(我们找人、约人办事最讨厌这种人),队列就是大公无私的一种数据结构,排队先来先得,讲究顺序性,所以这种数据结构在程序设计、中间件等都非常广泛的应用,例如消息队列、FIFO磁盘调度、二叉树层序遍历、BFS宽度优先搜索等等。队列的核心理念就是:先进先出!
2021年5月6日
其他

并查集,不就一并和一查?

什么是并查集并查集这种数据结构,可能出现的频率不是那么高,但是还会经常性的见到,其理解学习起来非常容易,通过本文,一定能够轻轻松松搞定并查集!对于一种数据结构,肯定是有自己的应用场景和特性,那么并查集是处理什么问题的呢?并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint
2021年4月27日
其他

栈,就后进先出?

data[top--];如下图,本来栈为1,2,3,4,5,6(栈顶),执行pop操作,top变为3的位置并且返回4;其他操作例如peek操作时返回栈顶不弹出.所以只需满足要求时候return
2021年4月21日
其他

(加强版)大数加减乘除,一文彻底搞定

前言大家好,我是bigsai!(上次发布的忘加原创并且今天的把内容扩充了一下)最近,大数加减频频登上笔试的舞台,小伙伴们在群里也分享自己遇到面试官碰到大数运算的题目,想着这么重要而简单的知识点我还没写过,那得好好和大家一起总结一下。群内情况各位有过分类刷题的小伙伴,可能看到很多人分类
2021年4月19日
其他

Java自学方法和路线,我万字推荐你这样学

Github仓库:(https://github.com/ityouknow/spring-boot-examples)除了以上框架,还要学习Java后端必学的安全框架(Shiro或者Spring
2021年4月13日
其他

太透彻了:约瑟夫环的三种解法

前言约瑟夫环问题是算法中相当经典的一个问题,其问题理解是相当容易的,并且问题描述有非常多的版本,并且约瑟夫环问题还有很多变形,这篇约瑟夫问题的讲解,一定可以带你理解通通!什么是约瑟夫环问题?约瑟夫环问题在不同平台被"优化"描述的不一样,例如在牛客剑指offer叫孩子们的游戏,还有叫杀人游戏,点名……最直接的感觉还是力扣上剑指offer62的描述:圆圈中最后剩下的数字。问题描述:0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。当然,这里考虑m,n都是正常的数据范围,其中1
2021年4月8日
其他

掉一根头发,彻底搞懂二叉搜索树

前言前面介绍学习的大多是线性表相关的内容,把指针搞懂后其实也没有什么难度,规则相对是简单的,后面会讲解一些比较常见的数据结构,用多图的方式让大家更容易吸收。在数据结构与算法中,树是一个比较大的家族,家族中有很多厉害的成员,这些成员有二叉树和多叉树(例如B+树等),而二叉树的大家族中,二叉搜索树(又称二叉排序树)是最最基础的,在这基础上才能继续拓展学习AVL(二叉平衡树)、红黑树等知识。对于二叉排序树而言,本章重点关注其实现方式以及插入、删除步骤流程,我们会手写一个二叉排序树,二叉树遍历部分的内容比较多会单独详细讲解。什么是树树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树是递归的,将树的任何一个节点以及节点下的节点都能组合成一个新的树,所以树的很多问题都是使用递归去完成。根节点:
2021年4月5日
其他

备战实习求职的一些感想(已拿阿里offer)

面试官会的位运算奇淫技巧相互吹捧,共同进步,欢迎加个好友交流,也可拉你进群交流学习,也可做个朋友圈点赞之交!点个在看你最好看
2021年3月24日
其他

双链表,这回彻底搞dong了

点击上方bigsai关注我相互吹捧,共同进步,欢迎加个好友交流,也可拉你进群交流,也可做个朋友圈点赞之交!前言前面有很详细的讲过线性表(顺序表和链表),当时讲的链表以单链表为主,但实际上在实际应用中双链表的应用多一些就比如LinkedList。双链表与单链表区别逻辑上它们均是线性表的链式实现,主要的区别是节点结构上的构造有所区别,这个区别从而引起操作的一些差异。单链表:单链表的一个节点,有储存数据的data,还有后驱节点next(指针)。也就是这个单链表想要一些遍历的操作都得通过前节点—>后节点。双链表:双链表的一个节点,有存储数据的data,也有后驱节点next(指针),这和单链表是一样的,但它还有一个前驱节点pre(指针)。双链表结构的设计上文讲单链表的时候,我们当时设计的是一个带头结点的链表就错过了不带头结点操作方式,这里双链表咱们就不带头结点设计实现。并且上文单链表实现的时候是没有尾指针tail的,在这里我们设计的双链表带尾指针。所以我们构造的这个双链表是:不带头节点、带尾指针(tail)、双向链表。对于node节点:class
2021年3月15日
其他

刚学会深拷贝一个对象,学妹却问我怎么深拷贝一个图

前言在前面,我写过一篇Java的深浅拷贝,那是基于对象的拷贝,但放眼数据结构与算法中,你有考虑过怎么拷贝一个图吗?(无向图)在此之前,你需要对一些概念搞清楚:什么是深拷贝、浅拷贝?浅拷贝:如果拷贝的是引用类型(非基本类型),就只会拷贝一层(嵌套的对象不会被拷贝),如果原对象发生改变,那么拷贝对象也会发生改变。深拷贝:深拷贝的话会拷贝多层,嵌套的对象也会被拷贝出来,相当于开辟一个新的内存地址用于存放拷贝的对象。用通俗一点(可能不完全确切)的话解释,浅拷贝就像你的双胞胎兄弟一样,你们父母亲人都是一样的;而深拷贝就像另一个平行的时空,那里有另一个你的一切。既然搞懂了深浅拷贝以及其区别,我们再看看图,图一般用来表示节点和节点之间的关系,常分为有向图和无向图,在这里我们以无向图(一旦连接即双向)为主题。我们对图的表示一般有邻接矩阵和邻接表,邻接矩阵的话比较直观的表示一个图的连通性,操作维护更简单,在Java中一般使用二维数组表示邻接矩阵,数组中的值可以表示两个节点的权值。邻接矩阵表示一个图使用邻接矩阵虽然简单但是有个比较差的就是浪费较多内存空间,所以很多情况还是使用邻接表来表示一个图,邻接表一般是数组+链表的这么一个组合。但是也有一些特殊情况各个节点比较独立的不用数组联立。邻接表表示一个图问题分析如果这个图使用邻接表表示,给你无向
2021年3月9日
其他

面试官给我个字符串问里面有多少个"bigsai"子序列给我难住了

点击上方bigsai关注我们前言一次面试官笑嘻嘻的问我一个问题,场景还原一下:然后我把这个问题透彻的研究了一下,并由浅入深的分析了一下这种问题的思路,分别是有几个pat和不同子序列问题。有几个pat这是pat的一道题。分析如何求一个字符串中有多少个pat。不要想着三重for循环去枚举所有情况了,那不是好的方法。这这种题如果有灵感的话应该能猜出来这应该是一种动态规划的问题。首先将问题简单分解一下,如果问原串中有多少个p。那么很容易枚举一遍即可。例如序列ppp就是三个p。如果带上a,求串pa的个数呢?pa是由p和a组成。求pa的个数肯定和a有很大的关系,每个a可能会组成若干个pa取决于这个a前面p的数量。将所有a位置组成的pa相加即可。例如pppapa
2021年2月2日
其他

【建议收藏】面试官会的位运算奇淫技巧

-2按位取反~规则:二进制的0变成1,1变成0。移位运算符左移运算:右移后左边位补原最左位值(可能是0,可能是1)右移运算>>>:右移后左边位补
2021年1月22日
其他

我和蓝桥杯的那两年

前言有很多事情在最初的时候是令人最难忘的,无论是学习还是生活的点点滴滴,追忆起那些最初的场景,既美好又有点失落,美好是因为那种懵懂而摸索的进步和得知确实很难得,而些许失落是因为一晃都过去那么久啦,那时候的地点、人和事都已很难重温。前几天翻空间说说发现母校的师弟师妹们都在报名第十二届蓝桥杯大赛,走在寒风飕飕的路上,勾起本科生涯那段寒天与蓝桥杯的故事。记得刚上大一时候不久,老师问班上同学们有什么目标,有几个同学回答了我记得很清楚,一个说想考研,还有说想进BAT,还有一个同学说想参加竞赛拿奖。那是我第一次知道算法竞赛的存在。而我自己本科开始学算法时候不是为了进大厂、为了考研,那时候啥也不懂就是因为要参加蓝桥杯比赛。我们学校是双非,大部分人要么考研要么搞开发,专注算法的不是很多,更多的还是带着学。我本科学校对蓝桥杯还是挺看重的,并不是个人直接报名,而是参加校赛之后得奖后然后学校统一安排报名,所以第一道坎就是过校赛。第一次止步校赛第一次准备比赛的时候,那时候刚上大二,因为在大一基本都是玩过来的,到了大二距离校赛前一段时间。我的舍友W找我问我是要参加蓝桥杯的校赛嘛,我跟他说是的然后他说可以一起准备。因为咱两没有参加协会、也不认识啥这方面有啥天赋的人,所以只能黑灯瞎摸索。开始了第一次蓝桥杯的探寻之旅。然后那个时候完全是小白从0开始,我们俩从协会群里找到几年历年试题以及一些资料,然后开始研究。我记得很清楚的那时候练习一些啥求素数、进制转换
2021年1月11日
其他

一文搞懂线性表(顺序表、链表)

Exception;//根据index获取数据
2021年1月5日
其他

数据结构与算法之基本概念

sex;}//list和woman是数据Listlist;//数据对象listListwoman;//数据对象womanlist.add(new
2020年12月30日
其他

跳表 | 会跳的链表原来这么diao

有兴趣的也可以查阅一下源码。对于学习,完整的代码是非常重要的,这里我把完整代码贴出来,需要的自取。import
2020年12月25日
其他

是时候捋一捋Java的深浅拷贝了

点击上方蓝字关注俺呀呀在开发、刷题、面试中,我们可能会遇到将一个对象的属性赋值到另一个对象的情况,这种情况就叫做拷贝。拷贝与Java内存结构息息相关,搞懂Java深浅拷贝是很必要的!在对象的拷贝中,很多初学者可能搞不清到底是拷贝了引用还是拷贝了对象。在拷贝中这里就分为引用拷贝、浅拷贝、深拷贝进行讲述。引用拷贝引用拷贝会生成一个新的对象引用地址,但是两个最终指向依然是同一个对象。如何更好的理解引用拷贝呢?很简单,就拿我们人来说,通常有个姓名,但是不同场合、人物对我们的叫法可能不同,但我们很清楚哪些名称都是属于"我"的!当然,通过一个代码示例让大家领略一下(为了简便就不写get、set等方法):class
2020年12月17日
其他

面试官本想拿一道求素数搞我,但被我优雅的"回击"了

点击上方蓝字关注我前言现在的面试官,是无数开发者的梦魇,能够吊打面试官的属实不多,因为大部分面试官真的有那么那几下子。但在面试中,我们这些小生存者不能全盘否定只能单点突破—从某个问题上让面试官眼前一亮。这不,今天就来分享来了。这年头,算法岗内卷不说,开发岗也有点内卷,对开发者要求越来越高了,而面试官也是处心积虑的
2020年12月8日
其他

花5分钟看这篇之前,你才发现你不懂RESTful

客户端就处于一个状态变迁过程中。每一个应用的状态描述可以被客户端用来初始化下一次的状态变迁。REST架构限制条件Fielding在论文中提出REST架构的6个限制条件,也可称为RESTful
2020年12月4日
其他

「五大常用算法」一文图解分治算法和思想

k=a[low];//额外空间k,取最左侧的一个作为衡量,最后要求左侧都比它小,右侧都比它大。
2020年11月30日