随笔分类 -  面试算法系列

高频面试算法题
摘要:大家好,今天我们来聊一聊最长回文子串这个问题。 前几天,有个校招的小伙伴问到了这个问题。今天,我们就来分析一下。 最长回文子串不论是在校招还是社招中都是各大厂出现频率比较高的题目。所以对于正在找工作的同学来说,这是必须要准备的一道题。 Tips:回文串就是正反读都是一样的字符串,比如"上海自来水来自 阅读全文
posted @ 2021-12-02 11:51 算法推荐管 阅读(190) 评论(0) 推荐(0)
摘要:栈和队列 全文概览 基础知识 ####栈 栈是一种先进后出的数据结构。这里有一个非常典型的例子,就是堆叠盘子。我们在放盘子的时候,只能从下往上一个一个的放;在取的时候,只能从上往下一个一个取,不能从中间随意取出。 栈是一种操作受限的线性表,只允许在一端处理数据。主要包括两种操作,即入栈和出栈,也就是 阅读全文
posted @ 2021-11-30 10:55 算法推荐管 阅读(159) 评论(0) 推荐(0)
摘要:朋友圈问题 现在有 105个用户,编号为 1- 105。已知有 m 对关系,每一对关系给你两个数 x 和 y ,代表编号为 x 的用户和编号为 y 的用户是在一个圈子中,例如: A 和 B 在一个圈子中, B 和 C 在一个圈子中,那么 A , B , C 就在一个圈子中。现在想知道最多的一个圈子内 阅读全文
posted @ 2021-11-25 23:19 算法推荐管 阅读(766) 评论(1) 推荐(1)
摘要:##打家劫舍I ###问题描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内 阅读全文
posted @ 2021-11-24 18:51 算法推荐管 阅读(600) 评论(0) 推荐(2)
摘要:问题描述 179. 最大数 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 示例: 输入:nums = [10,2] 输出:"210" 分析问题 一开始拿到这个问题,第一印象不就是把整型数组排个序吗,这也太简单了吧,python一行代码搞定,点击提交,瞬间 阅读全文
posted @ 2021-11-18 14:16 算法推荐管 阅读(94) 评论(0) 推荐(1)
摘要:最长的括号子串 问题描述 给出一个长度为 n 的,仅包含字符 '(' 和 ')' 的字符串,计算最长的格式正确的括号子串的长度。 示例: 输入:"(())" 输出:4 解析:对于"(())"来说,最长格式正确的子串是"(())",所以为4。 分析问题 对于括号匹配问题,最直观的想法就是采用栈来求解。 阅读全文
posted @ 2021-11-18 10:03 算法推荐管 阅读(252) 评论(0) 推荐(0)
摘要:最长的括号子串 问题描述 给出一个长度为 n 的,仅包含字符 '(' 和 ')' 的字符串,计算最长的格式正确的括号子串的长度。 示例: 输入:"(())" 输出:4 解析:对于"(())"来说,最长格式正确的子串是"(())",所以为4。 分析问题 对于括号匹配问题,最直观的想法就是采用栈来求解。 阅读全文
posted @ 2021-11-16 21:23 算法推荐管 阅读(639) 评论(0) 推荐(0)
摘要:将升序数组转化为平衡二叉搜索树 问题描述 给定一个升序排序的数组,将其转化为平衡二叉搜索树(BST)。平衡二叉搜索树是指树上的每个节点 node 都满足左子树中所有节点的的值都小于 node 的值,右子树中所有节点的值都大于 node 的值,并且左右子树的节点数量之差不大于1。 示例: 输入:num 阅读全文
posted @ 2021-11-12 18:41 算法推荐管 阅读(282) 评论(0) 推荐(0)
摘要:栈和排序 问题描述 给你一个由1~n,n个数字组成的一个排列和一个栈,要求按照排列的顺序入栈。如何在不打乱入栈顺序的情况下,仅利用入栈和出栈两种操作,输出字典序最大的出栈序列。 排列:指 1 到 n 每个数字出现且仅出现一次。 示例: 输入:[2,1,5,3,4] 输出:[5,4,3,1,2] 分析 阅读全文
posted @ 2021-11-11 20:49 算法推荐管 阅读(55) 评论(0) 推荐(0)
摘要:大家好,我是程序员学长~ 今天给大家分享一道腾讯面试真题,如果喜欢,记得点个关注哟~ 问题描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。 示例: 输入:[2, 阅读全文
posted @ 2021-11-10 13:39 算法推荐管 阅读(659) 评论(4) 推荐(0)
摘要:序列化二叉树 问题描述 请实现两个函数,分别用来序列化和反序列化二叉树。你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 示例: 输入:root = [1,2,3,n 阅读全文
posted @ 2021-11-09 22:59 算法推荐管 阅读(271) 评论(1) 推荐(0)
摘要:大家好,我是程序员学长~ 今天给大家带来一篇面试高频算法题之数组的详细解析,全文包含19道大厂笔试面试算法真题,一举拿下数组这个知识点,让算法不在成为进入大厂的绊脚石。 如果喜欢,记得点个关注哟~ 本文有点长,我已将本文制作成带目录的PDF版本,获取本文PDF版本,请私信我。 全文概览 数组的基础知 阅读全文
posted @ 2021-11-08 18:13 算法推荐管 阅读(427) 评论(0) 推荐(0)
摘要:链表基础知识 链表的分类 链表是一种通过指针串联在一起的线性结构,主要分为单链表、双向链表和循环链表。 单链表 单链表中每一个节点是由两部分组成,一个是数据域、一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域为空。 双向链表 双向链表中的每一个节点有两个指针域,一个指向下一个节点,一个 阅读全文
posted @ 2021-11-04 17:41 算法推荐管 阅读(389) 评论(0) 推荐(0)
摘要:首先,我们来看两张图,不知道你有没有发现这个图和微软的图标好像啊~~~~ 问题描述 有一个 NxN 整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 要求:时间复杂度O(N2),空间复杂度是O(N2)。 进阶:时间复杂度是O(N^2),空间复杂度是O(1) 示例: [ [ [ 5, 1, 9,11 阅读全文
posted @ 2021-10-29 18:10 算法推荐管 阅读(126) 评论(2) 推荐(0)
摘要:最长公共子序列 问题描述 给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列。 示例: 输入:"abcde","ace" 输出:"ace" 分析问题 首先,我们先来看一下什么是子序列。一个字符串的子 阅读全文
posted @ 2021-10-12 10:15 算法推荐管 阅读(474) 评论(0) 推荐(1)
摘要:大家好,我是程序员学长。 今天我们来聊一聊最长递增子序列这个问题。 如果喜欢,记得点个关注哟~ 问题描述 给你一个整数数组nums,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6 阅读全文
posted @ 2021-10-11 10:25 算法推荐管 阅读(1678) 评论(0) 推荐(0)
摘要:大家好,我是程序员学长。 今天我们来聊一聊面试中经常考的一道题目,判断链表是否有环。 如果喜欢,记得点个关注呀~ 问题描述 给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连 阅读全文
posted @ 2021-10-09 13:43 算法推荐管 阅读(434) 评论(1) 推荐(1)