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

网站建设及管理制度文章app网站搭建

网站建设及管理制度文章,app网站搭建,怎么做类似淘宝网站,西安到北京需要隔离吗搜索插入位置、零矩阵、旋转矩阵 每日一练:LeeCode-35、搜索插入位置【数组】方法一(自己写的)方法二二分法 每日一练:面试题 01.08. 零矩阵【数组】每日一练:面试题 01.07. 旋转矩阵【数组行列翻转】 每日一练&#x…

搜索插入位置、零矩阵、旋转矩阵

    • 每日一练:LeeCode-35、搜索插入位置【数组】
      • 方法一(自己写的)
      • 方法二
      • 二分法
    • 每日一练:面试题 01.08. 零矩阵【数组】
    • 每日一练:面试题 01.07. 旋转矩阵【数组+行列翻转】

每日一练:LeeCode-35、搜索插入位置【数组】

LeeCode-35、搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将 会被按顺序插入的位置。请必须使用时间复杂度为 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 <= 10^4
  • -10^4 <= nums[i] <= 10^4
  • nums无重复元素升序 排列数组
  • -10^4 <= target <= 10^4

方法一(自己写的)

class Solution {
public int searchInsert(int[] nums, int target) {int m=0;    //记录是否有相等元素的情况//先遍历一遍数组,判断是否有相等的元素,有则返回索引for(int i=0;i<nums.length;i++){if(nums[i]==target){m=i;return m;}}if(m==0){//target小于nums数组中除最后一个元素之外的元素for(int j=0;j<nums.length;j++){if(nums[j]>target){m=j;//不能解决大于nums[nums.length-1]的情况return m;}}//target大于所有数组元素if(target>nums[nums.length-1]){m=nums.length;return m;}}
return m;
}
}

方法二

class Solution {public int searchInsert(int[] nums, int target) {for(int i=0;i<nums.length;i++){if(nums[i]>=target){return i;}//大于的情况,原本nums[i]的值往后移,所以返回的就是新元素插入的位置}return nums.length;//target大于任何数,所以新加一个位置,放在最后}
}

二分法

class Solution {public int searchInsert(int[] nums, int target) {// 二分法int left = 0, right = nums.length - 1;while(left <= right){// 防止 left+right 整型溢出int mid = left + (right - left) / 2;if(nums[mid] == target){return mid;}else if(nums[mid] < target){left = mid + 1;}else if(nums[mid] > target){right = mid - 1;}}return left;//如果target找不到,left会一直计算到最接近nums[i]其中一个值附近且找到大于它的下一个位置,所以此时就可以把left作为位置返回了}
}

每日一练:面试题 01.08. 零矩阵【数组】

面试题 01.08. 零矩阵

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

思路:
1.获取原数组的行列数
2.新建新数组来保存原数组
3.遍历找到原数组中元素为0的地方,在新数组中,将对应元素的行列设置为0
4.将新数组替换原数组

class Solution {public void setZeroes(int[][] matrix) {//1.获取原数组的行列数int rowRecord =matrix.length;int colRecord = matrix[0].length;int maxId1 = rowRecord-1;int maxId2 =colRecord-1;int [][] newMatrix = new int [rowRecord][colRecord];   //新数组作为临时空间//2.新建新数组来保存原数组for(int x=0;x<rowRecord;x++){for(int y=0;y<colRecord;y++){newMatrix[x][y] = matrix[x][y];}}//3.遍历找到原数组中元素为0的地方,在新数组中,将对应元素的行列设置为0for(int x=0;x<rowRecord;x++){for(int y=0;y<colRecord;y++){if(matrix[x][y]==0){for(int i=0;i<rowRecord;i++){newMatrix[maxId1-i][y]=0;  }for(int j=0;j<colRecord;j++){newMatrix[x][maxId2-j]=0;  }              }}}//4.将新数组替换原数组for(int x=0;x<rowRecord;x++){for(int y=0;y<colRecord;y++){matrix[x][y] = newMatrix[x][y];}} }
}

每日一练:面试题 01.07. 旋转矩阵【数组+行列翻转】

给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?

面试题 01.07. 旋转矩阵

class Solution {public void rotate(int[][] matrix) {//获取原数组的行数int len = matrix.length;if(len==1){return ;}//新建NXN矩阵,存放原数组的元素int [][] newMatrix = new int[len][len];int maxId = len-1;for(int x=0;x<len;x++){for(int y=0;y<len;y++){newMatrix[x][maxId-y] = matrix[y][x];//自己画个矩阵比划一下}}//旋转排序好的新数组替换原数组for(int i=0;i<len;i++){for(int j=0;j<len;j++){matrix[i][j] = newMatrix[i][j];}}}
}

文章转载自:

http://Kt1UNNMe.jmwrj.cn
http://BXMxT6sE.jmwrj.cn
http://tQEA3EXp.jmwrj.cn
http://lfExqNoO.jmwrj.cn
http://hwsLh1s6.jmwrj.cn
http://nILw2gOg.jmwrj.cn
http://fv7M2vcu.jmwrj.cn
http://r1A8OZMB.jmwrj.cn
http://8KHUP3D1.jmwrj.cn
http://rLZZtkWF.jmwrj.cn
http://cgKQ3yix.jmwrj.cn
http://G99pMPhX.jmwrj.cn
http://ixSM5zq2.jmwrj.cn
http://nNkNvN9N.jmwrj.cn
http://eYPnJGgQ.jmwrj.cn
http://YqqAxbIU.jmwrj.cn
http://BMG4UA6g.jmwrj.cn
http://rNcWijmC.jmwrj.cn
http://Qnia0L4Y.jmwrj.cn
http://eJbJVd0c.jmwrj.cn
http://baYhzJMf.jmwrj.cn
http://uZku6tIw.jmwrj.cn
http://h7BGFlkU.jmwrj.cn
http://i2puQ1Yr.jmwrj.cn
http://1u0THZrI.jmwrj.cn
http://5bOozcmp.jmwrj.cn
http://7AZHl2RI.jmwrj.cn
http://qZx1LT9Y.jmwrj.cn
http://PQC2bytD.jmwrj.cn
http://gWwbDKVo.jmwrj.cn
http://www.dtcms.com/wzjs/627913.html

相关文章:

  • 沂水网站建设如何跳过网站会员
  • 网站后天添加文章不显示加强网站信息建设方案
  • 免费推广网站排行榜长沙做公司网站
  • 网站建设案例查询成都高端网站设计
  • dreamwearver怎么做静态网站广告设计公司排行
  • 北京好的网站开发广告设计哪里可以学
  • 精美的网站wordpress菜单横排
  • 企业网站php源码免费下载网站怎么绑定织梦
  • 南京制作网站要多少钱微信电子宣传册制作app
  • 温州网站建设最新报价推广一个网站需要什么
  • 中国公路工程建设网站深圳福田区是富人区吗
  • 门户网站 方案百度首页排名优化哪家专业
  • 网站面向哪些地区做优化容易大数据分析师
  • 做衣服网站的实验感想海外网站太慢
  • 北京网站建设手机app电子商务贵阳平台网站建设
  • 网站开发和网页开发有什么区别网站建设万禾
  • 宁夏交通建设质监局官方网站cms建站系统哪个好
  • 您身边的网站建设顾问百度浏览器网址
  • 陕西建设银行官网站建设主题网站的顺序是什么
  • 遵义县公司网站建设女装东莞网站建设
  • pc网站案例wordpress 公众账号
  • 温州网站网络公司网页跳转到别的网站
  • 响应式网站费用做网站建设价格
  • 章丘网站开发网站会员注册系统下载
  • 网站建设策划报价wordpress小工具
  • 网站页面设计需求新安网站开发
  • 优质手机网站建设推荐网站制作要学多久
  • 临沂谁会做网站无人一区二区区别是什么
  • 那些网站是做俄罗斯鞋子网络广告的特征是()多选题
  • 湖南建设厅网站勘查设计微信公众平台开发软件