724. 寻找数组的中心下标
题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode)
题目难度:简单
代码:
class Solution {public int pivotIndex(int[] nums) {int sum=0;for(int i=0;i<nums.length;i++){sum+=nums[i];}int leftSum=0,rightSum=0;for(int i=0;i<nums.length;i++){leftSum+=nums[i];rightSum=sum-leftSum+nums[i];if(leftSum==rightSum)return i;}return -1;}
}
34. 在排序数组中查找元素的第一个和最后一个位置
题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)
题目难度:中等
代码:
class Solution {public int binarySearch(int[] nums,int target){int left=0;int right=nums.length-1;while(left<=right){int mid=left+(right-left)/2;if(nums[mid]==target)return mid;else if(nums[mid]<target)left=mid+1;else right=mid-1;}return -1;}public int[] searchRange(int[] nums, int target) {int index=binarySearch(nums,target);if(index==-1) return new int[]{-1,-1};int left=index,right=index;while(left-1>=0&&nums[left-1]==nums[index])left--;while(right+1<nums.length&&nums[right+1]==nums[index])right++;return new int[]{left,right};}
}
922. 按奇偶排序数组 II
题目链接:922. 按奇偶排序数组 II - 力扣(LeetCode)
题目难度:简单
代码:
class Solution {public int[] sortArrayByParityII(int[] nums) {int[] result=new int[nums.length];int even=0,odd=1;for(int i=0;i<nums.length;i++){if(nums[i]%2==0){result[even]=nums[i];even+=2;}else{result[odd]=nums[i];odd+=2;}}return result;}
}
35. 搜索插入位置
题目链接:35. 搜索插入位置 - 力扣(LeetCode)
题目难度:简单
代码:
class Solution {public int searchInsert(int[] nums, int target) {int n=nums.length;int low=0;int high=n-1;while(low<=high){int mid=low+(high-low)/2;if(nums[mid]>target){high=mid-1;}else if(nums[mid]<target){low=mid+1;}else{return mid;}}return high+1;}
}