首页 > 其他分享 >代码随想录:数组

代码随想录:数组

时间:2024-02-23 13:34:48浏览次数:28  
标签:二分 nums int 代码 随想录 mid 查找 数组

二分查找

二分查找是对数组中的区间进行查找。
有两种写法:一种是在闭区间内进行查找,另一种是在左闭右开区间内进行查找。
每次查找的时候只有按照这个方法就不会出错。
二分查找
写法一:

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left=0,right=nums.size()-1;
        int mid;
        while(left<=right){
            mid = (left+right)/2; //也可以写成
            int x=nums[mid];
            if(x==target)return mid;
            if(x>target){
                right=mid-1;
            }else{
                left=mid+1;
            }
        }
        return -1;
    }
};

移除元素

题目链接

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int l=0;
        for(int i=0;i<nums.size();++i){
            if(nums[i]!=val){
                nums[l] = nums[i];
                l++;
            }
        }
        return l;
    }
};

未完待续

标签:二分,nums,int,代码,随想录,mid,查找,数组
From: https://www.cnblogs.com/gamdwk/p/18029299

相关文章

  • 02. 安装 Unity 引擎和代码编辑器
    下载并安装Unity访问网站unity.cn,在右边点击下载Unity。如果没有Unity账号,先注册账号,然后登陆账号。首先下载UnityHub,安装UnityHub,获取个人免费许可,再安装编辑器代码编辑器有VisualStudio、VisualStudioCode、Rider具体怎么用见下面的链接https://learn.microso......
  • 片段代码练习之【水仙花,三角形,字符统计】
    #统计字符个数方法defcount_char(char,string):count=0forcinstring:ifc==char:count+=1returncountchar='l'string='helloworld'count=count_char(char,string)print('{0}字符个数为:{1}'.format(cha......
  • day41 动态规划part3 代码随想录算法训练营 96. 不同的二叉搜索树
    题目:96.不同的二叉搜索树我的感悟:这题,考的概率不大,听一遍,过一遍就行。理解难点:二叉搜索树定义为什么是累加的听课笔记:代码示例:classSolution:defnumTrees(self,n:int)->int:dp=[0]*(n+1)#创建一个长度为n+1的数组,初始化为0d......
  • day40 动态规划part3 代码随想录算法训练营 343. 整数拆分
    题目:343.整数拆分我的感悟:题目很难,但我动力十足!!理解难点:如何拆分为什么要保留dp[i]听课笔记:代码示例:classSolution:defintegerBreak(self,n:int)->int:#思路:#dp[i]是到目前为止能拆分取的最大值#dp[i]可以拆成j*(集合)......
  • R语言使用Bass模型进行手机市场产品周期预测|附代码数据
    原文链接:http://tecdat.cn/?p=17725最近我们被客户要求撰写关于Bass模型的研究报告,包括一些图形和统计输出。巴斯Bass扩散模型已成功地用于预测各种新推出的产品以及成熟产品的市场份额主要观点该模型的主要思想来自两个来源:消费者不受社会影响的产品意愿。因为其他人已经......
  • R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
    原文链接:http://tecdat.cn/?p=23344最近我们被客户要求撰写关于信用卡违约分析的研究报告,包括一些图形和统计输出。本文中我们介绍了决策树和随机森林的概念,并在R语言中用逻辑回归、回归决策树、随机森林进行信用卡违约数据分析决策树是由节点和分支组成的简单树状结构。根据每......
  • 代码+案例,实战解析BeautifulSoup4
    本文分享自华为云社区《从HTML到实战:深入解析BeautifulSoup4的爬虫奇妙世界》,作者:柠檬味拥抱。网络上的信息浩如烟海,而爬虫技术正是帮助我们从中获取有用信息的重要工具。在爬虫过程中,解析HTML页面是一个关键步骤,而BeautifulSoup4正是一款功能强大的解析器,能够轻松解析HTML和XML......
  • 代码随想录 day58 判断子序列 不同的子序列
    判断子序列dp[i][j]表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。if(s[i-1]==t[j-1])t中找到了一个字符在s中也出现了if(s[i-1]!=t[j-1])相当于t要删除元素,继续匹配不同的子序列dp[i][j]:以i-1为结尾的s子序列中......
  • 后缀数组
    虽然这是基础算法,但我已经好几次忘记它怎么写了,反倒是SAM记得很牢。为了避免比赛中因这个爆蛋,我打算仔细梳理一下它的原理。问题:给你一个字符串,你需要求出\(sa_i,rk_i\),其中\(sa_i\)表示排名为\(i\)的后缀,\(rk_i\)表示后缀\(i\)的排名。首先暴力就是直接快排,里面......
  • 从源代码到可执行文件
    编写好源文件之后,对源文件进行编译和链接就可以生成可执行文件了。编译和链接的操作需要使用编译器和链接器来完成。不同编译语言所编写的源代码翻译成本机代码之后就成了同一种语言。负责将用C语言等高级语言编写的源代码翻译成本机代码的程序称为编译器,用不同的编译语言编写的源......