小工具知识网

当前位置: 首页 > 行业知识 > 算法基础1:数组,二分法

行业知识

算法基础1:数组,二分法

2026-11-14 22:06:34 来源:互联网转载

数组

���组最大的特点: 在内存中存储时空间连续。

()

所以,数组确定好大小后,内存大小不能修改,不能删除元素,只能覆盖。

二分法

题目链接:704二分查找

class Solution {public:    int search(vector& nums, int target) {        int left =0;        int right = nums.size()-1;        while(left            int middle = (left+right)/2;            if(nums[middle]  target){                right = middle -1;            }            else if(nums[middle]  

思路

  1. 最重要的是确认搜索区间,左闭右闭or左闭右开,根据搜索区间做后续所有条件的推论。
  2. while的终止条件,判断是否合法。左闭右闭是 小于等于,因为当左边界和右边界相等时,该区间合法。
  3. left, right赋值的判断,如果已经判断过了,就应该从接下来的区间中排除。

移除元素27

1暴力解法

int removeElement(vector& nums, int val) {    int size=nums.size();    for (int i=0;i        if(nums[i]==val){            for(int j=i+1;j    int slow =0;    for(int fast=0; fast        if(nums[fast]!=val){            nums[slow++] = nums[fast];        }    }    return slow;}

上一篇:在mc里服务器怎么建?

下一篇:nuc迷你主机怎么样