当前位置: 首页 > news >正文

广州科技网站建设成都seo的方法

广州科技网站建设,成都seo的方法,网站超大文件上传,近三天时政热点搜索插入位置 description 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], tar…

搜索插入位置

description

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例 1:

输入: nums = [1,3,5,6], target = 5
输出: 2

示例 2:

输入: nums = [1,3,5,6], target = 2
输出: 1

示例 3:

输入: nums = [1,3,5,6], target = 7
输出: 4

提示:

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为 无重复元素 的 升序 排列数组
-104 <= target <= 104

idea

算法真是优雅的艺术~虽然我还很粗糙!
搜索指定数据位置,找不到则返回需要插入的位置。
因为加了小小的变动:找不到返回应该插入的位置。已知数组升序,我们可以把问题转换为找到首个大于等于target的位置

solution

class Solution {public int searchInsert(int[] nums, int target) {int left = 0, right = nums.length - 1, ans = nums.length;while(left <= right){int mid = (left + right) / 2;if(target > nums[mid]) left = mid + 1;else{ans = mid;right = mid - 1;} }return ans;}
}

在排序数组中查找元素的第一个和最后一个位置

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

示例 1:

输入:nums = [5,7,7,8,8,10], target = 8
输出:[3,4]
示例 2:

输入:nums = [5,7,7,8,8,10], target = 6
输出:[-1,-1]
示例 3:

输入:nums = [], target = 0
输出:[-1,-1]

提示:

0 <= nums.length <= 105
-109 <= nums[i] <= 109
nums 是一个非递减数组
-109 <= target <= 109

idea

类似上一题,升序数组中查找元素,联想到用二分查找。
需要找元素首次出现和最后一次出现的位置,可以把基本的二分查找转化为找最左(右)出现的位置。

solution

class Solution {public int[] searchRange(int[] nums, int target) {int[] ans =   {getPos(nums, target, 0), getPos(nums, target, 1)};return ans;}public int getPos(int[] nums, int target, int flag){int left = 0, right = nums.length - 1, ans = -1;while(left <= right){int mid = (left + right) / 2;if(nums[mid] == target){ans = mid;if(flag == 0) right = mid - 1;else left = mid + 1;}else if(nums[mid] > target) right = mid - 1;else left = mid + 1;}return ans;}
}
http://www.khdw.cn/news/28595.html

相关文章:

  • 网站指向wordpress关键词优化报价查询
  • wordpress aureliusseo关键词搜索和优化
  • 遂溪手机网站建设公司免费下载app并安装
  • 做自己的网站流量怎么软件开发app制作
  • 毕业设计做网站 服务器怎么弄软件测试培训班多少钱
  • 郑州做网站优化外包站内搜索工具
  • 网站建设评标办法兰州做网站的公司
  • 网站开发是什么意思啊2023年10月疫情恢复
  • 做网站域名需哪些如何注册网站怎么注册
  • wordpress多站列表怎么进行推广
  • 网站是可以做的吗泰安百度推广电话
  • 网站的总体风格包括成都网站seo厂家
  • 建站 哪个网站系统好用淘客推广怎么做
  • 青岛网站建设最便宜免费域名怎么注册
  • 转包网站建设做非法事情五年级下册数学优化设计答案
  • 淳安网站建设免费推广平台排行
  • 手机3g门户首页网址seo优化排名
  • 网站 尺寸seo研究中心vip教程
  • 什么网站可以做宣传公关公司排行榜
  • 有哪些网站建设企业今日新闻网
  • 廊坊网站建设电话2020 惠州seo服务
  • 我们做的网站是优化型结构百度长尾关键词挖掘
  • 社保网站减员申报怎么做口碑营销的作用
  • 网站建设金成都百度推广联系方式
  • 做网站的工具+论坛seo和网络推广有什么区别
  • 网站建设banner关键词林俊杰的寓意
  • 衢州网站建设推广网络营销策划方案模板范文
  • 专业手机移动网站建设seo专员是什么意思
  • 做健身网站seo优化技术培训
  • 卧龙区建网站云南省最新疫情情况