- 博客(4)
- 收藏
- 关注
原创 LeetCode-367. 有效的完全平方数 C++完整代码
采用数学思想,已知1+3+5+…+2n-1=n(2n-1+1)/2 =n^2。通过逐次减去奇数,如果结果为0, 说明是完全平方数,如果结果小于0,说明不是完全平方数。给你一个正整数 num。如果 num 是一个完全平方数,则返回 true ,否则返回 false。完全平方数 是一个可以写成某个整数的平方的整数。思想,在每次循环中,将查找范围不断缩小一半,直到找到目标值或者左边界大于右边界为止。时间复杂度为O(log n),空间复杂度为O(1)。时间复杂度为O(√n),空间复杂度为O(1)。
2023-09-12 12:18:52 277 1
原创 LeetCode-34. 在排序数组中查找元素的第一个和最后一个位置 C++完整代码
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。分两次查找,第一次查找最左边的target值,第二次查找最右边的target值。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。如果数组中不存在目标值 target,返回 [-1, -1]。时间复杂度为O(log n),空间复杂度为O(1)。
2023-09-11 13:53:32 156
原创 LeetCode35.搜索插入位置C++完整代码
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。时间复杂度为O(log n),空间复杂度为O(1)。请必须使用时间复杂度为 O(log n) 的算法。
2023-09-10 14:29:06 85 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人