力扣算法与知识回顾
文章平均质量分 55
定春大大
这个作者很懒,什么都没留下…
展开
-
递归与循环(Fibonacci)
递归与循环(Fibonacci)问题总览:分别使用循环或递归解决问题,感受两者不同//求1+2+3+...+n的和System.out.println(addFrom1ToN(100));System.out.println(addFrom1ToN2(100));//当递归调用的层级太多时,就会超出栈的容量 ,从而导致调用栈溢出栈溢出// Exception in thread "main" java.lang.StackOverflowError//求斐波那契数列的第 n 项。 n=0,f原创 2021-10-21 17:25:19 · 149 阅读 · 0 评论 -
力扣:环形链表
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到原创 2021-10-21 11:56:04 · 123 阅读 · 0 评论 -
力扣:用两个栈实现队列
用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“append原创 2021-07-16 11:48:04 · 166 阅读 · 0 评论 -
力扣:替换空格
替换空格(String类方法)请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。JAVA知识点:String 类的部原创 2021-07-11 01:31:08 · 141 阅读 · 0 评论 -
力扣:从尾到头打印链表
从尾到头打印链表(Stack栈)输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。Java知识点:栈也是一种原创 2021-07-10 23:59:35 · 86 阅读 · 0 评论 -
力扣:斐波那契数列与青蛙跳台阶
5.1、斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(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 =原创 2021-07-07 15:43:48 · 71 阅读 · 0 评论 -
力扣:两数之和
2、两数之和(HashMap)给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,原创 2021-07-04 15:28:41 · 552 阅读 · 0 评论 -
力扣:两个重复的数
1、两个重复的数(HashSet)哈希和Set找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu原创 2021-07-03 23:56:08 · 295 阅读 · 0 评论