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

网站建设大概价格做商城网站的项目背景

网站建设大概价格,做商城网站的项目背景,深圳机票网站建设,哪个公司的logo品牌设计每天一题#xff0c;防止痴呆题目示例分析思路1题解1#x1f449;️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target#xff0c;返回 [-1,… 每天一题防止痴呆题目示例分析思路1题解1️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 输入nums [5,7,7,8,8,10], target 8 输出[3,4]输入nums [5,7,7,8,8,10], target 6 输出[-1,-1]输入nums [], target 0 输出[-1,-1]分析思路1 1.使用二分查找算法找到元素第一次出现的位置。这里可以用一个变量记录当前找到的最小位置每次找到目标元素时更新这个变量继续在左侧查找直到左侧没有目标元素为止。 2.使用二分查找算法找到元素最后一次出现的位置。这里可以用一个变量记录当前找到的最大位置每次找到目标元素时更新这个变量继续在右侧查找直到右侧没有目标元素为止。 为什么findLef中tint mid left (right - left) / 2; 计算机中整数的表示是有限的如果两个很大的整数相加可能会导致结果超出整数类型的表示范围发生整数溢出。例如如果 left 和 right 都很大它们的和可能会超出 int 类型的最大值导致结果变成负数或者其他的不正确的结果。因此在计算中间位置时如果直接采用 (right left) / 2 的方法来计算中间位置可能会导致整数溢出的问题。而采用 (right - left) / 2 的方法来计算中间位置则可以避免这个问题的出现因为 right 和 left 的差值不会超过 int 类型的表示范围所以计算结果也不会超出 int 类型的范围。 为什么findRight中int mid left (right - left 1) / 2; 这是因为在二分查找中当左右边界相邻时如果中间位置的计算公式为 int mid left (right - left) / 2;那么会出现死循环的情况。因为此时 left 和 right 都指向同一个位置而中间位置的计算公式为 (left right) / 2会一直得到这个位置而不会结束循环。 为了避免这种情况我们可以将计算中间位置的公式修改为 int mid left (right - left 1) / 2;这样在左右边界相邻时中间位置会取右边界的位置从而结束循环。 题解1 class Solution {public int[] searchRange(int[] nums, int target) {int[] result new int[]{-1, -1};if (nums null || nums.length 0) {return result;}int left 0, right nums.length - 1;while (left right) {int mid left (right - left) / 2;if (nums[mid] target) {result[0] findLeft(nums, target, left, mid);result[1] findRight(nums, target, mid, right);break;} else if (nums[mid] target) {left mid 1;} else {right mid - 1;}}return result;}private int findLeft(int[] nums, int target, int left, int right) {while (left right) {int mid left (right - left) / 2;if (nums[mid] target) {right mid;} else {left mid 1;}}return nums[left] target ? left : -1;}private int findRight(int[] nums, int target, int left, int right) {while (left right) {int mid left (right - left 1) / 2;if (nums[mid] target) {left mid;} else {right mid - 1;}}return nums[left] target ? left : -1;}}执行结果
http://www.w-s-a.com/news/984073/

相关文章:

  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设
  • 建设银行网站机构特点业务发展网站推广工作计划
  • 国家信用信息系统年报seo推广赚钱
  • 公司建设网站价格表广州免费拍卖公司
  • 知行网站建设wordpress文章半透明
  • 建设网站的虚拟机配置建设银行宁波分行招聘网站
  • 济南网站开发xywlcn网络推广服务合同模板
  • 品牌网站制作流程图用asp做网站题目
  • 兰州市建设厅网站河南网站建设问一问公司
  • 高档网站建设前端网站大全
  • 深圳电力建设公司网站互联网网站有哪些
  • 淅川网站建设如何在百度上做自己的网站
  • 网站制作 南通有学给宝宝做衣服的网站吗
  • 做西式快餐店网站网络营销的含义是什么
  • 网络销售代理加盟南京seo排名扣费
  • 赤峰中国建设招标网站网站开发投标文件
  • 域名抢住网站婚庆网页设计
  • 公司网站建设的通知南宁怎么做网站
  • 搜狐快站建站教程电子商务网站后台模板
  • .gs域名做网站怎么样做网站有没有用
  • 肇庆住房和城乡建设局网站广州seo公司排名
  • j2ee网站开发买什么书网络媒体有哪些