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

网站界面设计的步骤网站建设报价方案.xls

网站界面设计的步骤,网站建设报价方案.xls,杏坛网站建设,自媒体网站建设论文#x1f31e; 题目#xff1a; #x1f30f;在有序数组A中#xff0c;查找目标值target #x1f30f;如果找到返回索引 #x1f30f;如果找不到返回-1 算法描述解释前提给定一个内含n个元素的有序数组A#xff0c;满足A0A1A2An-1,一个待查值target1设… 题目 在有序数组A中查找目标值target 如果找到返回索引 如果找不到返回-1 算法描述解释前提给定一个内含n个元素的有序数组A满足A0A1A2·······An-1,一个待查值target1设置left0right n - 12如果left right 结束查找没找到3设置mid (left right )/2mid为中间索引4如果target Am设置right mid -1跳到第2步5如果target Am设置left mid 1跳到第2步6如果Am target结束查找找到了 算法实现 public int binarySearch(int[] arr,int target) {int left 0;int right arr.length-1;while(leftright) {int mid (leftright)1;if(target arr[mid]) {right mid - 1;}else if (arr[mid] target) {left mid 1;}else {return mid;}}return -1;}注解 1.为什么while循环条件是leftright而不是leftright 因为当leftright时midleftright可能为我们想要查找的值 2.为什么mid (leftright)1而不是(leftright)/2呢 是无符号右移无符号右移一位相当于除2取整。 不用(leftright)/2原因是当leftright的值超过int类型的正整数最大范围其值就会由正变负 在其他的资料中二分查找与这个代码不一样 ✈️ 二分查找的改动版 public static int binarySearch1(int[] arr,int target) {int left0;int right arr.length; //第一处改动while(left right) { //第二处改动int mid (leftright)1;if(target arr[mid]) {right mid; //第三处改动}else if (arr[mid] target) {left mid 1;}else {return mid;}}return -1;}⛵️注解 rightarr.length作为一个边界存在left可能为我们的查找目标但是right一定不是我们要找到的目标 图解演示 查找13 ⛽️在Java中其实已经提供了二分查找的方法binarySearch public class Test {public static void main(String[] args) {int[] arr {1,2,3,4,5,5,6};int target Arrays.binarySearch(arr,3);System.out.println(target);} }运行结果 2 二分查找对重复元素的处理 重复元素最靠右的元素 说明查找元素为重复元素的话会查找到最右边的重复元素 Returns 找到则返回最靠右索引 找不到返回-1 //重复元素最靠右的元素 public class Test5 {public static int binarySearch2(int[] arr,int target) {int left 0;int right arr.length-1;int cand -1;while (left right) {int mid (left right)1;if(target arr[mid]) {right mid-1;} else if (arr[mid] target) {left mid1;}else {cand mid;left mid1;}}return cand;} }说明返回target的最右边的索引 Returns 找到则返回最靠右索引 找不到返回小于target最右边的索引 public static int binarySearchRightMost(int[] arr,int target){int left 0;int right arr.length-1;while(left right) {int mid (left right )1;if(target arr[mid]){right mid-1;}else {left mid 1;}}return left-1;}重复元素最靠左的元素 说明查找元素为重复元素的话会查找到最左边的重复元素 Returns 找到则返回最靠左索引 找不到返回-1 public static int binarySearch2(int[] arr,int target) {int left 0;int right arr.length-1;int cand -1;while (left right) {int mid (left right)1;if(target arr[mid]) {right mid-1;} else if (arr[mid] target) {left mid1;}else {cand mid;right mid - 1;}}return cand;}说明 返回target最左边的索引 Returns 找到则返回最靠左索引 找不到返回比target大的最左边索引 public static int binarySearchLeftMost(int[] arr,int target) {int left0;int right arr.length-1;while(left right) {int mid (left right)1;if(target arr[mid]) {right mid - 1;}else {left mid 1;}}return left;}图解 leetcode二分查找题 1️⃣1.给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。 ⏩ 链接: 二分查找 提示 你可以假设 nums 中的所有元素是不重复的。 n 将在 [1, 10000]之间。 nums 的每个元素都将在 [-9999,9999]之间。 class Solution {public int search(int[] nums, int target) {int i0;int j nums.length-1;while(ij){int m(ij)1;if(targetnums[m]){jm-1;}else if(nums[m]target){im1;}else{return m;}}return -1;} }2️⃣2.给定一个排序的整数数组 nums 和一个整数目标值 target 请在数组中找到 target 并返回其下标。如果目标值不存在于数组中返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 ⏩ 链接: 搜索插入位置 class Solution {public int searchInsert(int[] nums, int target) {int left0;int right nums.length-1;while(left right) {int mid (left right)1;if(target nums[mid]) {right mid - 1;}else {left mid 1;}}return left;} }3️⃣3.给你一个按照非递减顺序排列的整数数组 nums和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 ⏩ 链接: 在排序数组中查找元素的第一个和最后一个位置 class Solution {public int[] searchRange(int[] nums, int target) {int xleft(nums,target);if(x-1){return new int[]{-1,-1};}else{return new int[]{x,right(nums,target)};}}public int left(int[] nums,int target) {int i0;int jnums.length-1;int cand-1;while(ij){int m(ij)1;if(targetnums[m]){jm-1;}else if(nums[m]target){im1;}else{candm;jm-1;}}return cand;}public int right(int[] nums,int target) {int i0;int jnums.length-1;int cand-1;while(ij){int m(ij)1;if(targetnums[m]){jm-1;}else if(nums[m]target){im1;}else{candm;im1;}}return cand;} }
http://www.hyszgw.com/news/105495.html

相关文章:

  • 做公司网站别人能看到吗6设计画册设计
  • 网站制作风格类型wordpress设置2个网站
  • 网页设计与网站建设基础网站分析的数据来源有哪些
  • 到哪里学平面设计seo主要是指优化
  • 注册qq空间网站在网站上做支付功能 需要什么
  • 直播网站开发计划书网站关键词连接符
  • wap类网站上海优化关键词的公司
  • 程序员找工作的网站做网站为什么要买服务器
  • 江西医院网站建设安徽省建设工程信网站
  • 开封网站建设培训绍兴网络推广公司
  • 长沙设计网站排名太仓手机网站建设价格
  • 宁德时代网站哪个公司做的wordpress做api接口
  • 计算机网络技术电商网站建设与运营WordPress怎么导入大数据库
  • 外贸建站 wordpress免费网站制作三合一收款码
  • 有专门做网站的吗浙江柏臻软装设计有限公司
  • dede企业网站源码zh-cn 安装wordpress
  • 网站关键词之间用什么符号隔开福州网站建设营销方案
  • 吴江区网站建设微商城开发流程
  • 湛江本地做网站乐搜做网站
  • 肇庆市住房和城乡房屋建设局网站外贸开发产品网站模板
  • 外链网站大全电子商务网站流程设计
  • 山东建设厅执业资格注册中心网站专业网站制作公司地址
  • 乐清做手机网站微商城网站开发制作
  • 网站收费模板设计软件排行
  • 服装网站项目的设计方案沧州网站建设代理价格
  • 快速网站建设多少钱抖音代运营方案模板
  • 如何在电商网站做市场调研汽车网络营销的方式有哪些
  • 建站如何注重内容建设万网空间官方网站
  • 牛天下网站做的怎么样百度引擎搜索
  • 网页设计尺寸单位一般为seo排名优化是什么意思