随笔分类 - 算法与数据结构
摘要:动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强
阅读全文
摘要:文章写到现在也有一年多了,其中有不少文章广受好评,例如动态规划的文章: 当然也包括其他算法文章,计算机网络等等文章,还有一些人看了我个人相关经历等文章,也从迷茫到充满干劲,说实话,你们的收获,便是我持续创作到最大动力! 所以呢,为了让大家更好着阅读我写过多文章,我把自己的原创文章整理成了一份带高清目
阅读全文
摘要:对于算法技巧,之前的文章也写过一些算法技巧,不过相对零散一些,今天我把之前的很多文章总结了下,并且通过 增删查改 ,给大家总结一些常用的 算法解题技巧 ,当然,这些也不是多牛逼的技巧,不过可以让你的代码看起来更加短小精悍,如果你能够充分掌握这些技巧,能够混合运用起来,那么写出来的代码,必然可以让别人
阅读全文
摘要:春节假期这么长,干啥最好?当然是折腾一些算法题了,下面给大家讲几道一行代码就能解决的算法题,当然,我相信这些算法题你都做过,不过就算做过,也是可以看一看滴,毕竟,你当初大概率不是一行代码解决的。 学会了一行代码解决,以后遇到面试官问起的话,就可以装逼了。 一、2 的幂次方 问题描述:判断一个整数 n
阅读全文
摘要:约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1 N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3...这样依次报),数到 m
阅读全文
摘要:字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都 详细 着给出了 最优解 ,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,
阅读全文
摘要:这应该是把动态规划讲的最后的文章了
阅读全文
摘要:想要学习算法、应付笔试或者应付面试手撕算法题,相信大部分人都会去刷 Leetcode,有读者问?如果我在 leetcode 坚持刷它个 500 道题,以后笔试/面试稳吗? 这里我说下我的个人看法,我认为 不稳 。下面说说为啥不稳以及算法题应该如何刷、如何学才比较好,当然,也会推荐自己学过的资料。 一
阅读全文
摘要:历经两个月的秋招总算是结束了,从七月份开始复习秋招相关知识,到八月多开始笔试、面试,到九月下旬的秋招结束,在笔试面试的这两个月里,还是挺累的。这篇文章就说说秋招这段时间的收获以及给对于明年要参加秋招的同学的一些建议吧。 一、最后去的公司 对于我来说,这次秋招算是满意的吧,找到了想去的 城市(深圳)以
阅读全文
摘要:前几天有个朋友去面试字节跳动,面试官问了他一道 链表 相关的算法题,不过他一时之间没做出来,就来问了我一下,感觉这道题还不错,拿来讲一讲。 题目 这其实是一道 变形 的链表反转题,大致描述如下 给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序, 并且从链表
阅读全文
摘要:有时候面试官往往会问我们一些简单,但又刁难的问题,主要是看看你对问题的处理思路。如果你没接触过这些问题,可能一时之间还真不知道怎么处理才比较好,这种题更重要的是一种思维的散发吧,今天就来分享几道题面试中遇到的算法题(当然,不是我自己遇到过,是别人遇到过,我挑选出来的) 案例1 题目描述:求1+2+3
阅读全文
摘要:大家好,我是帅地,写文章有一年了,这一年里写了100多篇 原创 文章,主要写「 数据结构与算法 」,「 计算机基础 」:包括数据库,计算机网络,Linux等。所以文章是以算法、计算机底层基础为方向,而这些 基础内功,是每个程序员都必须修炼 的,并且写的大部分文章都 通俗易懂,由浅入深,被很多大号所转
阅读全文
摘要:之前我也写过一两篇与算法技巧相关的文章 "一些常用的算法技巧总结" "【算法技巧】位运算装逼指南" 今天的这篇文章,算是一种补充,同时会列举一些常见的算法题,如何用这些技巧来解决,通过使用这些方法,可以让一些算法题变的更加简单。 1、用 n & (n 1)消去 n 最后的一位 1 在 n 的二进制表
阅读全文
摘要:数据结构与算法应该算是一个比较难的模块,从小白一路走过来,从大一连续刷过好几年题,看过挺多书,踩过挺多坑,也涨了一些经验,姑且在这里分析一波对数据结构与算法 的学习经验,请耐心看完,相信对你会有所帮助。 对于初学者来说,我认为选择一本合适、不错的算法书是非常非常重要的,从大一到现在我也看过不少的算法
阅读全文
摘要:这几天小秋去面试了,不过最近小秋学习了不少和 位算法 相关文章,例如 "【面试现场】如何判断一个数是否在40亿个整数中?" "【算法技巧】位运算装逼指南" 对于算法题还是有点信心的,,,,于是,发现了如下对话。 20亿级别 面试官:如果我给你 2GB 的内存,并且给你 20 亿个 int 型整数,让
阅读全文
摘要:好吧,有人可能觉得我标题党了,但我想告诉你们的是,前阵子面试确实挂在了 RLU 缓存算法的设计上了。当时做题的时候,自己想的太多了,感觉设计一个 LRU(Least recently used) 缓存算法,不会这么简单啊,于是理解错了题意(我也是服了,还能理解成这样,,,,),自己一波操作写了好多代
阅读全文
摘要:对于如何算 n 的阶乘,只要你知道阶乘的定义,我想你都知道怎么算,但如果在面试中,面试官抛给你一道与阶乘相关,看似简单的算法题,你还真不一定能够给出优雅的答案!本文将分享几道与阶乘相关的案例,且难度递增。 案例一 给定一个整数 N,那么 N 的阶乘 N! 末尾有多少个 0?例如: N = 10,则
阅读全文
摘要:可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径
阅读全文
摘要:最近碰到很多通过巧妙着运用 位运算 来巧妙解决复杂问题的算法,今天分享的这道题,或许能够开拓你的一些算法思维。 该问题是这样的: 有一组存放 ID 的数据。并且 ID 取值为 0 (N 1) 之间,其中只有一个 ID 出现的次数为 1,其他的 ID 出现的次数都等于 2,问如何找到这个次数为 1 的
阅读全文
摘要:今天和大家讲讲,在做算法题时常用的一些技巧。对于平时没用过这些技巧的人,或许你可以考虑试着去看看在实践中能否用的上这些技巧来优化问题的解。 1. 巧用数组下标 数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数
阅读全文