代码随想录算法刷题训练营

发布时间:2024年01月13日

代码随想录算法训练营day01 :LeetCode(34)在排序数组中查找元素的第一个和最后一个位置、leetCode(35)搜索插入位置、leetCode(27)移除元素、leetCode(704)二分查找

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;
    }
}
文章来源:https://blog.csdn.net/m0_46478505/article/details/135515031
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。