
牛客高频面试题
printf("不要熬夜!")
这个作者很懒,什么都没留下…
展开
-
【牛客高频面试题 NC17】 最长回文子串,对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。 给定字符串A以及它的长度n,请返回最长回文子串的长度。
学习目标: 目标:熟练运用Java所学知识 学习内容: 本文内容:使用java解决 最长回文子串 文章目录学习目标:学习内容:题目描述解题思路实现代码 题目描述 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。 给定字符串A以及它的长度n,请返回最长回文子串的长度。 示例1 输入 “abc1234321ab”,12 返回值 7 解题思路 这个题目使用动态规划的思路做比暴力搜索效率高 动态规划思路: 首先我们知道回文串颠倒和不颠倒的结果是一样的,所以对于一个回文串,将头尾删去原创 2021-04-13 17:05:29 · 872 阅读 · 0 评论 -
【牛客高频面试题 NC41】最长无重复字符子串,给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。
学习目标: 目标:熟练运用Java所学知识 学习内容: 本文内容:使用java解决 最长无重复字符子串 文章目录学习目标:学习内容:题目描述解题思路实现代码 题目描述 给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。 解题思路 这个题的解题方法也是比较多的,本文讲解使用 set ,双端队列 解决最长无重复字符子串 1 .set方法 创建两个变量 l 和 r,记录无重复子串的起始位置,max记录最长无重复子串长度 使用 r 作为下标遍历数组,每次将数组元素原创 2021-04-13 16:30:46 · 526 阅读 · 0 评论 -
【牛客高频面试题 NC61】 两数之和
学习目标: 目标:熟练运用Java所学知识 学习内容: 本文内容:使用java解决 两数之和 文章目录学习目标:学习内容:题目描述解题思路实现代码 题目描述 给出一个整数数组,请在数组中找出两个加起来等于目标值的数, 你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。 注意:下标是从1开始的 假设给出的数组中只存在唯一解 例如: 给出的数组为 {20, 70, 110, 150}, 目标值为90 输出 index1=1, in原创 2021-04-13 16:06:23 · 645 阅读 · 0 评论 -
【牛客高频面试题 NC119】 最小的k个数 给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那
学习目标: 目标:熟练运用Java所学知识 学习内容: 本文内容:使用java解决 反转链表 文章目录学习目标:学习内容:题目描述题目分析实现代码 题目描述 给定一个数组,找出其中最小的K个数。 例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 如果K>数组的长度,那么返回一个空的数组 题目分析 这个题目挺简单的,只需要对数组进行排序,然后返回前k个数即可 但是要注意 该题目给的返回类型是ArrayList类型的,所以就要创建一个顺序表,将最小的k个原创 2021-04-13 15:54:29 · 361 阅读 · 0 评论 -
【牛客高频面试题 NC78】反转链表 输入一个链表,反转链表后,输出新链表的表头。
学习目标: 目标:熟练运用Java所学知识 学习内容: 本文内容:使用java解决 反转链表 文章目录学习目标:学习内容:题目描述解题思路实现代码 题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路 这个题有两种解法: 方法一: 创建一个新链表,每次从旧链表中取出元素,头插到新链表,就可以实现链表的反转 方法二: 使用三个临时引用,一个指向当前结点,一个指向当前结点的前一个结点,一个指向当前结点的下一个结点 每一次循环将当前结点的next指向前一个结点,递归更新三个结点的原创 2021-04-11 23:28:51 · 173 阅读 · 0 评论