- 博客(92)
- 收藏
- 关注
原创 LeetCode 热题 100 JavaScript--739. 每日温度
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。输入: temperatures = [73,74,75,71,69,72,76,73]输入: temperatures = [30,40,50,60]输入: temperatures = [30,60,90]输出: [1,1,4,2,1,1,0,0]输出: [1,1,1,0]输出: [1,1,0]
2023-08-15 21:16:34
366
原创 LeetCode 热题 100 JavaScript--153. 寻找旋转排序数组中的最小值
注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …解释:原数组为 [0,1,2,4,5,6,7] ,旋转 4 次得到输入数组。解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]输入:nums = [4,5,6,7,0,1,2]输入:nums = [3,4,5,1,2]
2023-08-15 16:11:26
613
原创 LeetCode 热题 100 JavaScript--33. 搜索旋转排序数组
在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2]。输入:nums = [4,5,6,7,0,1,2], target = 0。输入:nums = [4,5,6,7,0,1,2], target = 3。
2023-08-14 20:37:12
531
原创 LeetCode 热题 100 JavaScript--34. 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。如果数组中不存在目标值 target,返回 [-1, -1]。输入:nums = [], target = 0。输出:[-1,-1]输出:[-1,-1]
2023-08-14 17:54:01
462
原创 LeetCode 热题 100 JavaScript--287. 寻找重复数
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。nums 中 只有一个整数 出现 两次或多次 ,其余整数均只出现 一次。假设 nums 只有 一个重复的整数 ,返回 这个重复的数。如何证明 nums 中至少存在一个重复的数字?输入:nums = [1,3,4,2,2]输入:nums = [3,1,3,4,2]
2023-08-13 18:35:29
345
原创 LeetCode 热题 100 JavaScript--75. 颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。输入:nums = [2,0,2,1,1,0]你能想出一个仅使用常数空间的一趟扫描算法吗?输入:nums = [2,0,1]nums[i] 为 0、1 或 2。输出:[0,0,1,1,2,2]输出:[0,1,2]
2023-08-13 17:16:14
274
原创 LeetCode 热题 100 JavaScript -- 74. 搜索二维矩阵
给你一个整数 target ,如果 target 在矩阵中,返回 true;否则,返回 false。每行的第一个整数大于前一行的最后一个整数。每行中的整数从左到右按非递减顺序排列。
2023-08-08 17:44:29
1184
原创 LeetCode 热题 100 JavaScript--98. 验证二叉搜索树
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。所有左子树和右子树自身必须也是二叉搜索树。节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。
2023-08-08 16:18:53
408
原创 LeetCode 热题 100 JavaScript--283. 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。输入: nums = [0,1,0,3,12]进阶:你能尽量减少完成的操作次数吗?输出: [1,3,12,0,0]输入: nums = [0]
2023-08-07 15:09:43
276
原创 LeetCode 热题 100JavaScript--2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。请你将两个数相加,并以相同形式返回一个表示和的链表。
2023-08-07 13:44:05
250
原创 LeetCode 热题 100 JavaScript--142. 环形链表 II
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。
2023-08-07 11:22:03
182
原创 LeetCode 热题 100 JavaScript--141. 环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true。给你一个链表的头节点 head ,判断链表中是否有环。进阶:你能用 O(1)(即,常量)内存解决此问题吗?pos 为 -1 或者链表中的一个 有效索引。链表中节点的数目范围是 [0, 104]
2023-08-07 10:57:30
206
原创 LeetCode 热题 100 JavaScript--234. 回文链表
【代码】LeetCode 热题 100 JavaScript--234. 回文链表。
2023-08-06 18:47:54
333
原创 LeetCode 热题 100 JavaScript--206. 反转链表
【代码】LeetCode 热题 100 JavaScript--206. 反转链表。
2023-08-06 14:35:09
246
原创 LeetCode 热题 100 JavaScript--160. 相交链表
【代码】LeetCode 热题 100 JavaScript--160. 相交链表。
2023-08-06 13:22:34
214
原创 LeetCode 热题 100 JavaScript--20. 有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。题目解析:[()]是可以的,但是[(])这种是不可以的。s 仅由括号 ‘()[]{}’ 组成。输入:s = “()[]{}”输入:s = “()”输入:s = “(]”
2023-08-04 16:56:30
240
原创 LeetCode 热题 100 JavaScript--35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。nums 为 无重复元素 的 升序 排列数组。
2023-08-04 15:54:18
265
原创 LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。nums 按 严格递增 顺序排列。
2023-08-04 15:08:56
255
原创 LeetCode 热题 100 JavaScript--102. 二叉树的层序遍历
给你二叉树的根节点 root ,返回其节点值的 层序遍历。(即逐层地,从左到右访问所有节点)。输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]树中节点数目在范围 [0, 2000] 内。输入:root = [1]输入:root = []
2023-08-04 13:05:26
260
原创 LeetCode 热题 100 JavaScript--543. 二叉树的直径
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度。这条路径可能经过也可能不经过根节点 root。给你一棵二叉树的根节点,返回该树的 直径。两节点之间路径的 长度 由它们之间边数表示。
2023-08-03 18:55:32
269
原创 LeetCode 热题 100 JavaScript--101. 对称二叉树
【代码】LeetCode 热题 100 JavaScript--101. 对称二叉树。
2023-08-03 16:05:35
410
原创 LeetCode 热题 100 JavaScript --226. 翻转二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。树中节点数目范围在 [0, 100] 内。输入:root = []
2023-08-03 14:40:26
310
原创 LeetCode 热题 100 JavaScript -169多数元素
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:nums = [2,2,1,1,1,2,2]输入:nums = [3,2,3]
2023-08-02 19:11:17
421
原创 力扣热题100 JavaScript--136. 只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。输入:nums = [4,1,2,1,2]输入:nums = [2,2,1]输入:nums = [1]
2023-08-02 16:14:50
268
原创 LeetCode 热题 100 JavaScript---1. 两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], tar
2023-08-02 15:41:38
345
原创 javascript剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”输出:“We%20are%20happy.”0 <= s 的长度 <= 10000。
2023-04-14 20:51:45
96
原创 javascript剑指 Offer 06. 从尾到头打印链表
链接:https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。0 <= 链表长度 <= 10000。输入:head = [1,3,2]来源:力扣(LeetCode)输出:[2,3,1]
2023-04-14 20:49:22
74
原创 剑指 Offer 10- I. 斐波那契数列 javascript
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。F(N) = F(N - 1) + F(N - 2), 其中 N > 1.#剑指 Offer 10- I. 斐波那契数列 javascript。
2023-04-13 20:25:04
199
原创 javascript剑指 Offer 57. 和为s的两个数字
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。输入:nums = [10,26,30,31,47,60], target = 40。输入:nums = [2,7,11,15], target = 9。输出:[10,30] 或者 [30,10]输出:[2,7] 或者 [7,2]
2023-04-13 19:38:29
104
原创 9-1 逻辑回归算法
文章目录什么是逻辑回归Sigmoid函数什么是逻辑回归当不需要通过计算出来的概率值p^\hat{p}p^来进行分类的话就是回归算法,如果需要进行分类的话就是分类算法Sigmoid函数
2021-07-03 22:12:47
364
2
原创 8-9 LASSO
import numpy as npimport matplotlib.pyplot as pltnp.random.seed(42)x = np.random.uniform(-3.0,3.0,size=100)X = x.reshape(-1,1)y = 0.5 * x + 3 + np.random.normal(0,1,size=100)plt.scatter(x,y)plt.show()输出图片:from sklearn.model_selection import t.
2021-05-26 16:25:22
98
原创 8-8 模型泛化与岭回归
岭回归import numpy as npimport matplotlib.pyplot as pltnp.random.seed(42)x = np.random.uniform(-3.0,3.0,size=100)X = x.reshape(-1,1)y = 0.5 * x + 3 + np.random.normal(0,1,size=100)plt.scatter(x,y)plt.show()输出图片:使用多项式回归做对比from sklearn.pipeline..
2021-05-25 20:01:45
115
原创 8-7 偏差方差平衡
文章目录偏差方差上图中偏差表示蓝色圆点距离中央红心的远近,方差表示蓝色圆点的聚集或者分散程度偏差导致偏差的主要原因:对问题本身的假设不正确。如:非线性数据使用线性回归欠拟合就是这样的例子方差数据的一点点扰动都会较大的影响模型。换句话来说就是模型没有充分的学习到问题的实质,而学习到了很多的噪音。通常的原因是使用的模型太复杂,如高阶多项式回归。过拟合就会极大的引入方差。knn算法中,k越小,模型越复杂,则方差越大,偏差越小多项式回归中,degree的值越小,则模型越简单,偏差就越大
2021-05-25 14:44:12
343
原创 8-6 验证数据集与交叉验证
8-4和8-5中的方法,通过测试数据集判断模型的好坏,该方法比只使用训练数据得到的模型要靠谱,但是严格来说该方法也有不足之处:使得最终得到的模型过拟合了测试数据(通过测试数据来判断模型的好坏,一旦发现不好,就修改参数,重新训练,某种程度上导致了模型在一定程度上围绕测试数据集打转,相当于针对测试数据集调参,很有可能产生过拟合现象,也就是说我们得到的模型针对测试数据集过拟合)解决方法:将我们的数据分成三部分:1、训练数据集:训练数据,得到模型2、验证数据集:跟之前的测试数据集功能相同(找到合适的参数、合适
2021-05-24 22:04:50
528
原创 8-5 学习曲线
学习曲线:随着训练样本逐渐增多,算法训练出的模型的表现能力import numpy as npimport matplotlib.pyplot as pltnp.random.seed(666)x = np.random.uniform(-3.0,3.0,size=100)X = x.reshape(-1,1)y = 0.5 * x ** 2 + x + 2 +np.random.normal(0,1,size=100)plt.scatter(x,y)plt.show()输出图片:
2021-05-24 20:04:29
141
原创 8-4 为什么要有训练数据集和测试数据集
import numpy as npimport matplotlib.pyplot as pltnp.random.seed(666)x = np.random.uniform(-3.0,3.0,size=100)X = x.reshape(-1,1)y = 0.5 * x ** 2 + x + 2 + np.random.normal(0,1,size=100)from sklearn.pipeline import Pipelinefrom sklearn.linear_model
2021-05-24 16:51:36
830
原创 8-3 过拟合和欠拟合
import numpy as npimport matplotlib.pyplot as pltnp.random.seed(666)x = np.random.uniform(-3.0,3.0,size=100)X = x.reshape(-1,1)y = 0.5 * x ** 2 + x + 2 + np.random.normal(0,1,size=100)plt.scatter(x,y)plt.show()输出图片:使用线性回归from sklearn.linear_mo
2021-05-24 14:15:18
100
原创 8-1 多项式回归
文章目录什么是多项式回归scikit-learn中的多项式回归和Pipeline关于PolynomialFeatures关于Pipeline什么是多项式回归改进线性回归法,使其可以对非线性的数据进行处理和预测,这就是多项式回归法xxx是样本的一个特征将xxx和x2x^2x2非别看成样本的特征 多项式回归¶import numpy as npimport matplotlib.pyplot as pltx = np.random.uniform(-3,3,size=100)#在
2021-05-24 11:58:27
162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人