leetcode刷题记录
xx.844
这个作者很懒,什么都没留下…
展开
-
leetcode367:有效的完全平方数
还有一种数学的做法,由n^2-(n-1)^2=2*n-1可得,任意两个相近的完全平方数之间相隔一个奇数,那么可以用奇数递减来试探,参考leetcode博主 I3old MorseHDn。好好好,学好数理化,走遍天下都不怕。试了一下递归的牛顿迭代。原创 2024-04-24 12:47:40 · 159 阅读 · 0 评论 -
leetcode69:x的平方根
贴一个leetcode上面边界不一样的题解,边界写成我分不清的样子,很没有边界感bushi。作者是leetcode的。除此以外,还可以用牛顿迭代,这里贴一个leetcode上面的题解,作者LOAFER。这道题还是二分查找,但是注意判断的时候用除法,防止大数相乘导致溢出。本人笨拙代码如下.........ORZ。原创 2024-04-24 09:32:20 · 180 阅读 · 0 评论 -
leetcode34:在排序数组中查找元素的第一个和最后一个位置
先用二分法找目标元素是否存在于数组中,若不存在,返回【-1,-1】。如果存在,则将整个数组分为两个部分,middle分别为左区间的右端点与右区间的左端点(此处的端点都是封闭的端点)。2)当中间元素不为数组左端点(此处middle>=1是为了防止数组下标越界)且等于目标时,判断其左边元素是否也等同与目标,等同则递归查找,不等同则直接返回。然后对左右区间编写递归函数进行查找边界,由于将middle作为闭区间端点,所以如果找到,则一定会返回有效位置,可以直接new一个数组return。原创 2024-04-22 23:35:26 · 216 阅读 · 1 评论 -
leetcode35:搜索插入位置
同样是对于区间的处理问题,可以参照上一题704的思路,稍加进行修改。由于是右闭区间,所以结果直接返回right+1,可以不用pos判断。原创 2024-04-21 13:00:17 · 155 阅读 · 1 评论 -
leetcode704:二分查找
基本思路:对于给定升序且无重复数组区间,采用二分查找,通过与中位数对比而逐渐缩小区间范围,如果找到直接返回。若未找到,循环条件不满足,退出循环直接返回-1。区间采用左闭右开原则时,道理如上,只需将右区间点赋值为middle,修改循环的判别条件为left原创 2024-04-21 12:40:02 · 217 阅读 · 1 评论