日拱一卒,月进一步(9)

简介: 268. 丢失的数字 - 力扣(LeetCode)

268. 丢失的数字 - 力扣(LeetCode)

int missingNumber(int* nums, int numsSize) 
{
    int ret=numsSize;
    for(int i=0;i<numsSize;i++)
    { 
        ret^=nums[i]^i;
    }
    return ret;
}

283. 移动零 - 力扣(LeetCode)


这种移动的题目我们首要的想法就是利用双指针。左指针指向已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,将左右指针对应的数字交换,并且左指针右移。


注意到以下性质:


1左指针left左边均为非零数


2右指针right左边直到左指针均为0


每次交换都是左指针的0与右指针的非0数交换,因此非0数的顺序不变。


void swap(int*a,int*b)
{
    int t=*a;
    *a=*b,*b=t;
}
void moveZeroes(int* nums, int numsSize)
 {
    int left=0,right=0;
    while(right<numsSize)
    {
        if(nums[right])
        {
            swap(nums+left,nums+right);
            left++;//当前值为0,左指针右移,左指针左边都是非零值
        }
        right++;//无论是否为0,右指针都右移,右指针左边直到左指针都是零
    }
}


相关文章
|
缓存 JSON 前端开发
超详细讲解:http强缓存和协商缓存
超详细讲解:http强缓存和协商缓存
ython之对异常处理
ython之对异常处理
|
存储 程序员 C语言
C 文件读写
C 文件读写
|
存储 弹性计算 运维
汽车仿真效率30%↑、药物研发效率20倍↑,阿里云获HPC CHINA 2020“最佳行业应用奖”
近日,HPC CHINA 2020 大会以线上线下——双线联动的形式同步召开,近 300 位重量级高性能计算(超算)领域专家学者与业界精英人士、CCF 高专委委员汇聚郑州,共同探索高性能计算的发展。
汽车仿真效率30%↑、药物研发效率20倍↑,阿里云获HPC CHINA 2020“最佳行业应用奖”
|
SQL 存储 数据库
阿里开发强制要求的11条SQL编写规范
【强制】不要使用count(列名)或count(常量)来替代count(),count()是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。 说明:count(*)会统计值为NULL的行,而count(列名)不会统计此列为NULL值的行。
3536 0
|
Java Android开发
|
2天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1294 1
|
2天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
575 3