LeetCode
文章平均质量分 72
柚皮糕
学习中
展开
-
LeetCode:27.移除元素
你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。指针 i 指向数组开始位置,遍历数组,指针 j 指向有效数组的最后一个位置。:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。原创 2022-12-14 00:57:25 · 110 阅读 · 1 评论 -
LeetCode:69. x 的平方根
牛顿迭代法(Newton’s Method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson Method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。因此可以采用二分查找的方法查找给出数字的算术平方根,需要注意的是在循环里用除法判断防止溢出,而分母不能等于0,所以需要将left从1开始设定,还需要对输入整数是否为0做单独的判断。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5。,化简得*(x+a/x)/2*。原创 2022-12-11 21:15:52 · 166 阅读 · 0 评论 -
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。采用二分法来寻找target的左边界和右边界。用两个函数分别寻找左边界和右边界适合对二分法还不熟悉的人,避免被绕进去。使用两次二分查找,第一次查找>=target的位置,第二次查找>target出现的位置。由题中给出用时间复杂度为O(log n)的算法和给出的数组有序可以想到用二分法查找。如果数组中不存在目标值 target,返回 [-1, -1]。原创 2022-12-09 13:20:58 · 332 阅读 · 0 评论 -
LeetCode704. 二分查找
题目:示例 1:示例 2:提示: 你可以假设 nums 中的所有元素是不重复的。 n 将在 [1, 10000]之间。 nums 的每个元素都将在 [-9999, 9999]之间。思路: 由题可知,该数组有序且数组元素不重复,可以使用二分法。1.二分法第一种写法代码: 2.二分法第二种写法代码: 复杂度分析:原创 2022-12-07 09:36:54 · 107 阅读 · 0 评论