![](https://img-blog.csdnimg.cn/20201211234158838.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
牛客刷题
牛客网
Bonbon_wen
To be or not to be!
展开
-
删除有序链表中重复出现的元素
题目描述给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。例如:给出的链表为1→2→3→3→4→4→5, 返回1→2→5.给出的链表为1→1→1→2→3, 返回2→3.示例1输入{1,2,2}返回值{1} //快慢指针 //时间复杂度O(N),空间复杂度O(1) public ListNode deleteDuplicates(ListNode head) { if (head == n.原创 2021-01-17 13:07:11 · 115 阅读 · 0 评论 -
两个链表生成相加链表
题目描述假设链表中每一个节点的值都在 0 - 9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1为 9->3->7,链表 2为 6->3,最后生成新的结果链表为 1->0->0->0。示例1输入[9,3,7],[6,3]返回值{1,0,0,0}//方法二:使用栈,不需要反转链表 public ListNode addInListII(ListNode head...原创 2021-01-17 01:02:01 · 106 阅读 · 0 评论 -
数组中未出现的最小正整数
题目描述给定一个无序数组arr,找到数组中未出现的最小正整数例如arr = [-1, 2, 3, 4]。返回1arr = [1, 2, 3, 4]。返回5[要求]时间复杂度为O(n)O(n),空间复杂度为O(1)O(1)示例1输入[-1,2,3,4]返回值1public int minNumberdisappered(int[] arr) {// return minNumberDisapperedI(arr); return原创 2020-12-29 23:50:44 · 750 阅读 · 0 评论 -
缺失数字
题目描述从0,1,2,...,n这n+1个数中选择n个数,组成有序数组,找出这n个数中缺失的那个数,要求O(n)尽可能小。示例1输入[0,1,2,3,4,5,7]返回值6class Solution { public int missingNumber(int[] nums) {// return missingNumberI(nums);// return missingNumberII(nums);原创 2020-12-17 22:57:34 · 262 阅读 · 0 评论 -
寻找峰值
题目描述山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。假设nums[-1] = nums[n] = -∞。示例1输入[2,4,1,2,7,8,4]返回值5 //遍历数组,因为nums[-1]为负无穷,数组从下标0开始递增,当数组开始下降时,即可求得峰值 //时间复杂度O(n),空间复杂度O(1) public int solve (in.原创 2020-12-12 23:35:31 · 317 阅读 · 0 评论 -
斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5提示:...原创 2020-12-09 23:51:42 · 375 阅读 · 0 评论 -
复杂链表的复制
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 4:输入:head = []输出:[]解释:给定的链表为空(空指针),因此返回 null。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof著作权归领扣网络所有。商业转载请联系官方授原创 2020-11-27 08:02:18 · 245 阅读 · 0 评论 -
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。感谢alan_gaohaodong大神的详细解法,传送门https://blog.csdn.net/alan_gaohaodong/article/details/80987412class Solution { public int JumpFloorII(int target) {// return jFloorI(target);原创 2020-11-27 00:24:17 · 222 阅读 · 0 评论