牛客网精选好题
文章平均质量分 55
一些平时在练习中遇到的很经典的题,或者是面试高频的题。
见闻色霸气~
这个作者很懒,什么都没留下…
展开
-
❤️剑指Offer_10.斐波那契数列 动态规划 LeetCode双百缪莎❤️
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。示例1:输入:n = 2输出:1示例2:输入:n = 5输出:5解题思路:动态规划,设d.原创 2021-09-22 22:21:44 · 462 阅读 · 1 评论 -
剑指Offer_31.栈的压入、弹出序列
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。提示:0 <= pushed.length == popped.length <= 10000 <= pushed[.原创 2021-09-18 08:38:53 · 426 阅读 · 10 评论 -
剑指Offer-07 重建二叉树的两种方法
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息:给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.0 <= pre.length <= 20002.vin.length == pre.length3.-10000 <= pre[i], vin[i] <= 100004.pre 和 vin.原创 2021-09-16 22:07:54 · 271 阅读 · 24 评论 -
剑指Offer_06 从头到尾打印链表两种方法任你挑选
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1:输入:{1,2,3}返回值:[3,2,1]示例2:输入:{67,0,24,58}返回值:[58,24,0,67]解题思路:1、申请一个栈Stack,一个引用节点cur,遍历链表,如果cur不为空,就将cu.原创 2021-09-15 20:11:43 · 447 阅读 · 27 评论 -
⭐有手就行的剑指Offer_05 替换空格,谁都听得懂⭐
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息:描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。给定的字符串长度不超过100。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。示例1:输入:“We Are Happy”返回值:"We%20Are%20Happy"解题思路:将提供的字符串S,转换成字符数组。创建一个StringBu.原创 2021-09-14 14:46:21 · 249 阅读 · 31 评论 -
剑指offer 04.二维数组中的查找 我妹妹都看的懂的方法
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐题目信息:在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。要求:时间复杂度O(n),空间复杂度O(1)难度:中等示例二维数组如下: 需要找的数字: 9int [][]array = {{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8..原创 2021-09-13 17:17:11 · 263 阅读 · 20 评论 -
LeetCode_491 递增子序列 /大厂笔试题讲解
目录标题一、题目信息二、解题思路三、解题代码四、其他好题分享一、题目信息本题和LeetCode_491相同,这里我以牛客网的形式写题。二、解题思路题目要求的只需要找到长度为三的子序列,还不要求是连续的。创建两个引用,first,second,分别表示第一大和第二大的数字,如果遍历的时候数组中还有比他们两个数还大的数字,那长度为3的子序列不就有了吗?如果遍历完了还么有,就说明是真的没有了,返回false。还有其他两种情况1、遍历数组的时候遇到的数(这里称为P)first比p大,既然连子序列.原创 2021-09-11 20:31:40 · 1324 阅读 · 42 评论 -
k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解
目录标题一、题目信息二、解题思路三、代码实现一、题目信息LeetCode版本牛客网版本下面我以牛客网为例写代码题目需要先输入一组数字代表链表的值,以#代表结尾。下一行输入K代表每组个数问题来了,怎么翻转?假如有如下链表,且K=2.那就从链表的一号下标开始,到2号下标,在这个区间内进行组内翻转。如果元素不够K个时,就不进行翻转。二、解题思路将链表分为K组,每组组内进行翻转。每次翻转完后,更换翻转区间。其他细节放在代码注释中。三、代码实现class Main{原创 2021-09-09 15:54:16 · 544 阅读 · 31 评论 -
一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解
一年中的第几天一、题目信息二、解题思路三、代码实现四、其他题目分享一、题目信息题目要求输入一个字符串,表示年月日,需要你输出改天是这一年的第几天。输入输入自己解决。二、解题思路假设我们输入的是下面的字符串,我们将它分为三部分,年份,月份,日。分成三个小的子字符串,在用list存储起来。然后创建一个用来计算每个月累加天数和的数组。最后将年、月、日三个字符串转成数字。最后得到的天数就是数组下标-1+天数,如果是闰年并且月份大于2月还需要+1.图示:三、代码实现还有的细节我放在代码的注释原创 2021-09-08 13:20:48 · 747 阅读 · 35 评论 -
复数乘法 哔哩哔哩2020校园招聘面试题详解
一、题目信息题目来源:牛客网 / LeetCode537题目要求输入两个字符串,分别为两个复数的表达式,需要你输出两个复数的乘法结果。 二、解题方法分别获取两个字符串的整数部分,再把这两部分字符串转换成整数,最后用复数乘法公式得出结果。复数乘法公式:也就是说我们只需要在两个字符串中获取a,b,x,y这四个数字。我这里用一个stringtoInt方法解决。具体思路在代码中三、实现代码如果是在牛客网上做题,需要自己定义Main函数,和输入输出。class Main{ .原创 2021-09-07 08:58:30 · 2243 阅读 · 38 评论 -
字符串“bit666keji123“中数字的个数?信息学奥赛一本通1129:统计数字字符个数详解
一、题目信息给你一个字符串bit666keji123,请你返回该字符串中,数字的个数二、解题思路数字在字符中,是0-9的字符,如果某个字符处于0-9的区间中,就说明它是一个数字,我们定义一个计数器count,让他++一下,直到遍历完所有字符。三、实现代码 class Soultion{ public static int countNumber(String str){ //如果str不合法,返回0 if(str.length()==0){原创 2021-09-02 11:28:20 · 703 阅读 · 5 评论 -
怎么把i am a student逆置成student a am i?面试题逆置字符串讲解
逆置字符串一、题目描述二、解题思路三、完整代码四、运行结果一、题目描述字符串逆置,如 “I am a student” 逆置为 "student a am I"二、解题思路1、逆序整个字符串2、逆序每个单词 /** * 用来逆序一个整体,可以是单词也可以是整个数组 * @param c * @param i * @param j */ public static void reverse (char c[],int i,int j原创 2021-08-29 10:54:45 · 1703 阅读 · 5 评论 -
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
一、尼科彻斯定理是什么?尼科彻斯定理可以叙述为:任何一个整数的立方都可以表示成一串连续的奇数的和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19这其实就相当于一个已知Sn和公差的等差数列,让你求an。an的表达式为an= n*n-n+1,具体推理过程大家感兴趣的话可以去推导推导。二、题目信息这道题在牛客网上有,不过牛客网上面需要你输出的是String类型。我这里把它写成返回。三、代码实现class Solution{ public sta原创 2021-09-02 22:22:43 · 3875 阅读 · 1 评论