赞
踩
LeetCode(34)在排序数组中查找元素的第一个和最后一个位置
class Solution { public int[] searchRange(int[] nums, int target) { int[] arrayFlag={-1,-1}; for (int nums2 = 0; nums2 < nums.length; nums2++) { if(nums[nums2]==target){ arrayFlag[0]=nums2;//第一个值找出来立刻退出 break; } } for (int num3 = arrayFlag[0]+1; num3 < nums.length; num3++) { if(nums[num3]==target){ arrayFlag[1]=num3;//一直往最后一个值找,找不到进行判断 } } if(arrayFlag[1]==-1){ arrayFlag[1]=arrayFlag[0];//做一个判断,若为-1,将第一个值赋值给它 } return arrayFlag; } }
leetCode(35)搜索插入位置
class Solution { public int searchInsert(int[] nums, int target) { int left=0; int right=nums.length-1; while (left<=right) { int mid=(left+right)/2; if(target>nums[mid]){ left=mid+1; }else if(target<nums[mid]){ right=mid-1; }else{ return mid; } } return left;//通过二分查找,画图得到结果 } }
leetCode(27)移除元素
class Solution {
public int removeElement(int[] nums, int val) {
int i=0;
for (int nums2 = 0; nums2 < nums.length; nums2++) {
if(nums[nums2]!=val){
nums[i]=nums[nums2];
++i;
}
}
return i;
}
}
leetCode(704)二分查找
class Solution { public int search(int[] nums, int target) { int left=0; int right=nums.length-1; while (left<=right) { int mid=(left+right)/2; if(target>nums[mid]){ left=mid+1; }else if(target<nums[mid]){ right=mid-1; }else{ return mid; } } return -1; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。