面试算法
文章平均质量分 51
一个码农的前三十年
Nothing in this world that's worth having comes easy.
展开
-
将单向链表按某值划分为左边小,中间相等,右边大的形式
算法专题导航页面【题目描述】 给定一个链表,再给定一个整数 pivot,请将链表调整为左部分都是值小于 pivot 的节点,中间部分都是值等于 pivot 的节点, 右边部分都是大于 pivot 的节点。 除此之外,对调整后的节点顺序没有更多要求。【输入描述】 ...原创 2019-11-26 00:20:16 · 415 阅读 · 0 评论 -
判断一个链表是否为回文结构
算法专题导航页面【题目描述】 给定一个链表,请判断该链表是否为回文结构。【输入描述】 n 表示链表的长度。 val 表示链表节点的值【输出描述】 如果为回文结构输出 “true...原创 2019-11-25 23:10:47 · 206 阅读 · 0 评论 -
[动态规划] 最长公共子序列
算法专题导航页面【题目描述】 给定两个字符串str1和str2,输出连个字符串的最长公共子序列。如过最长公共子序列为空,则输出-1。【输入描述】 输出包括两行,第一行代表字符串str1,第二行代表str2。(1≤length(str1),length(str2)≤5000)...原创 2019-11-24 11:30:43 · 381 阅读 · 0 评论 -
[动态规划] 最长公共子串问题
动态规划 - 最长公共子串原创 2019-11-23 00:54:23 · 347 阅读 · 0 评论 -
[动态规划] 换钱的方法数
[动态规划]换钱的方法数原创 2019-11-15 11:57:23 · 386 阅读 · 0 评论 -
[动态规划] 换钱的最少货币数
【题目描述】 给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。【输入描述】 输入包括两行,第一行两个整数n(0<=n<=1000)代表数组长度和aim(0<=aim...原创 2019-11-14 00:29:06 · 871 阅读 · 0 评论 -
[动态规划] 矩阵最小路径和
动态规划 矩阵最小路径和原创 2019-11-08 01:59:40 · 344 阅读 · 0 评论 -
字符串中单词分别逆序
字符串中单词反转原创 2019-11-06 23:36:41 · 1104 阅读 · 0 评论 -
[暴力递归问题优化] 机器人到达指定位置的方法数
暴力递归问题优化动态规划空间压缩原创 2019-11-06 02:24:45 · 276 阅读 · 0 评论 -
链表系列之 单链表非常规逆序
给定一个单链表的头节点head,要求实现一个算法,使得每k个节点为一组进行逆序,并且要求从链表的尾部开始成组,头部剩余节点数量不够一组的话无需逆序。原创 2019-08-10 17:15:00 · 207 阅读 · 0 评论 -
链表系列之 有环单链表判断
有环单链表判断技巧杂谈原创 2019-08-09 22:25:09 · 337 阅读 · 0 评论 -
寻找两个排序数组(长度相等)的上中位数
【题目】 现有两个长度相等的排序数组,求这两个排序数组组成的新数组的上中位数。【其他限制】 时间复杂度最好为O(nlogn),空间复杂度为O(1)。原创 2019-07-29 23:22:28 · 974 阅读 · 0 评论 -
栈系列之 用栈实现队列
编写一个算法,用栈实现一个队列原创 2019-06-07 17:09:45 · 5749 阅读 · 2 评论 -
栈系列之 栈排序
使用一个辅助栈完成原始栈的排序:栈顶到栈底从大到小。原创 2019-06-09 15:52:53 · 3915 阅读 · 0 评论 -
链表系列之 滑动窗口问题 -- 所有生成窗口的最大值的集合
给定一个整数数组arrInt和一个大小为w的滑动窗口,窗口滑动方向自左向右,每次滑动一个单位。求一个数组,该数组的元素是每个滑动窗口中的最大元素的集合。原创 2019-06-09 16:10:12 · 653 阅读 · 0 评论 -
链表系列之 无序单链表去重
现有一个无序单链表,其中存在重复元素,实现一个算法来删除重复出现的元素,最终使得单链表中所有元素仅出现一次。原创 2019-06-16 21:08:14 · 8917 阅读 · 3 评论 -
栈系列之 最小栈的实现
设计一个栈,其拥有常规的入栈、出栈操作外,需要额外具备获取最小元素的功能。原创 2019-06-05 00:53:00 · 6067 阅读 · 8 评论 -
算法专题 --持续更新
本博客所涉及的大部分算法均可从网络或者书籍中找到原型。所有算法都将在此文中建立目录索引。 撰写本系列的一个初衷主要是为了自我学习,输出,文中所述的每一个算法都配有详细的图解和自己的理解与感悟。若有不当之处还望谅解,欢迎沟通交流。原创 2019-06-26 19:43:18 · 616 阅读 · 0 评论 -
数字游戏 -- 寻找缺失的数字
程序猿小明来自于一个游牧家庭,家里有一个大大的牧场和成群结队的牛羊,为了便于管理羊群,小明决定对每只绵羊进行编号标记,最终刚好用完100个号码(1-100)。小明的日常生活简单的有点枯燥:写代码,放牧,放牧的同时写代码!如此,日复一日,年复一年,时间过得很快很快! 有一天,临近傍晚收工时候,小明突然发现少了一只绵羊,但是无法确定是哪一只? 时间紧,任务重,你能否帮忙提供一种方法,能够尽快找出丢失的是哪一只绵羊?原创 2019-07-02 20:39:14 · 1369 阅读 · 0 评论 -
数字游戏 -- 微信红包
微信红包大家肯定都不陌生,但你是否思考过一个问题:当你通过微信针对某个群发出一个红包时,微信系统如何分配固定额度的money给群里用户的?随机分配?先抢到红包的用户是否一定可以获取到更多的money?原创 2019-07-02 20:42:42 · 628 阅读 · 0 评论 -
算法攻坚之递归
简单来说,递归函数就是一个函数**重复进行自我调用**,直至**触发某个条件**,此时函数将**返回确定的结果**。三个关键问题:1. 明确问题是什么2. 明确结束条件3. 明确等价关系原创 2019-10-05 22:03:59 · 211 阅读 · 0 评论 -
栈系列之 递归实现一个栈的逆序
使用递归来完成一个栈的逆序操作原创 2019-06-07 00:56:46 · 2973 阅读 · 2 评论