数据结构和算法
记录自己学习的数据结构和算法,每天一题
Coco涛涛
行动胜于一切语言
展开
-
合并两个有序数组-leetcode(88)
合并两个有序数组原创 2023-04-26 00:15:27 · 143 阅读 · 0 评论 -
第 N 个泰波那契数-leetcode(1137)
第 N 个泰波那契数原创 2023-04-24 23:59:11 · 191 阅读 · 0 评论 -
斐波那契数-leetcode(509)
斐波那契数原创 2023-04-24 23:50:32 · 158 阅读 · 0 评论 -
使用最小花费爬楼梯-leetcode(746)
请你计算并返回达到楼梯顶部的最低花费。原创 2023-04-24 23:41:01 · 199 阅读 · 0 评论 -
爬楼梯-leetcode(70)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?原创 2023-04-24 23:01:07 · 129 阅读 · 0 评论 -
平方数之和-leetcode(633)
2.考虑使用双指针的解法,思路:在区间 [0, sqrt©] 上进行双指针搜索。首先将左指针 left 设置为 0,右指针 right 设置为 sqrt©,每次计算 left^2 和 right^2 的和 sum,并比较 sum 和 c 的大小关系。如果 sum 大于 c,则将右指针 left 向左移动一位;如果 sum 小于 c,则将左指针 left 向右移动一位;给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。解释:1 * 1 + 2 * 2 = 5。原创 2023-04-23 23:37:33 · 91 阅读 · 0 评论 -
有效的完全平方数-leetcode(367)
给你一个正整数 num。如果 num 是一个完全平方数,则返回 true ,否则返回 false。完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如 sqrt。题目描述:这个题就是上个题目(69)的变形。方法2:还是借助于二分法查找,原创 2023-04-23 23:00:03 · 81 阅读 · 0 评论 -
x的平方根-leetcode(69)
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或 x ** 0.5。解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。给你一个非负整数 x ,计算并返回 x 的 算术平方根。原创 2023-04-23 22:39:55 · 82 阅读 · 0 评论 -
二进制求和(leetcode67)
具体思路是从 a 和 b 的末尾开始逐位相加,如果某一位相加结果为 2,则需要向前进一位。错误的思路:将两个二进制字符串转换为数值类型,然后将它们相加,得到一个十进制数。接着,将十进制数转换为二进制字符串,即为两个二进制字符串的和。由于 JavaScript 中的整数类型是以32位存储的,因此在相加二进制字符串时,如果位数过多,可能会导致数值溢出,从而得到错误的结果。给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。输入:a = “1010”, b = “1011”输出:“10101”原创 2023-04-18 23:24:12 · 333 阅读 · 0 评论 -
加一(leetcode 66)
思路分析:我们从数组的最后一位开始,向前遍历数组。如果当前位数等于9,则将该位数置为0,并继续向前遍历。如果所有位数都为9,则需要在数组开头添加一个1。给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。输入:digits = [4,3,2,1]输入:digits = [1,2,3]解释:输入数组表示数字 4321。解释:输入数组表示数字 123。输出:[4,3,2,2]输出:[1,2,4]原创 2023-04-18 22:36:10 · 95 阅读 · 0 评论 -
最后一个单词的长度(leetcode58)
首先,我们可以使用trim方法去除字符串两端的空格,然后使用split方法将字符串按照空格分隔成一个字符串数组。最后,取数组中最后一个元素,再使用length属性获取其长度即可。给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。原创 2023-04-17 00:24:42 · 92 阅读 · 0 评论