当前位置:网站首页>(oj)原地移除数组中所有的元素val、删除排序数组中的重复项、合并两个有序数组
(oj)原地移除数组中所有的元素val、删除排序数组中的重复项、合并两个有序数组
2022-08-05 05:17:00 【Captain林】
本篇文章计划用简单的代码方式向大家介绍题目所述的三个oj题的解题方法
目录
1. 原地移除数组中所有的元素val
题目如下


解法如下

int removeElement(int* nums, int numsSize, int val)
{
int left = 0;
for(int right=0; right<numsSize; right++)
{
if(nums[right] != val)//要改变数组
{
nums[left] = nums[right];
left++;
}
}
return left;
}2. 删除排序数组中的重复项
题目如下


解法如下

int removeDuplicates(int* nums, int numsSize){
int src = 1;
int dst = 0;
while(src < numsSize)
{
if(nums[src] == nums[dst])
{
src++;
}
else
{
dst++;
nums[dst] = nums[src];
src++;
}
}
return dst+1;
}3.合并两个有序数组
题目如下

解法如下
设end、end1、end2,当end1指向的值大于end2,先将end1的值放到end所在位置,反之亦然
注意:有可能会出现end1遍历完而end2没有遍历完的情况,这时可以额外增加一个循环使数组nums2的所有值复制到数组nums1上

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
int end1 = m-1;
int end2 = n-1;
int end = m+n-1;
while(end1 >= 0 && end2 >= 0)
{
if(nums1[end1] > nums2[end2])
{
nums1[end--] = nums1[end1--];
}
else
{
nums1[end--] = nums2[end2--];
}
}
while(end2 >= 0)
{
nums1[end--] = nums2[end2--];
}
}4.结语
看到这里,相信老铁们对如何解决上述oj题有了相应的了解。
我是计算机海洋的新进船长Captain_ldx,如果我的文章能对您有帮助的话,麻烦各位观众姥爷们点赞、收藏、关注,你们的每一次举手之劳都将化为船长的前进动力!
边栏推荐
- 六步搞定子网划分
- 九、响应处理——内容协商底层原理
- SQL (2) - join window function view
- 教你如何封装功能组件和页面组件
- 【论文精读】ROC和PR曲线的关系(The relationship between Precision-Recall and ROC curves)
- LeetCode刷题之第33题
- PoE视频监控解决方案
- 关于使用QML的MediaPlayer实现视频和音频的播放时遇到的一些坑
- 【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作
- MaskDistill - Semantic segmentation without labeled data
猜你喜欢

CVPR 2020 - 频谱正则化
![[Database and SQL study notes] 8. Views in SQL](/img/22/82f91388f06ef4f9986bf1e90800f7.png)
[Database and SQL study notes] 8. Views in SQL

四、Web场景之静态资源配置原理

手把手教你搭建小程序

LeetCode刷题之第55题

【数据库和SQL学习笔记】10.(T-SQL语言)函数、存储过程、触发器

CVPR 2022 | 70% memory savings, 2x faster training

5G中切片网络的核心技术FlexE
![[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers](/img/b9/06b90160c962a25a3cc44731afb6dc.png)
[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers

Redis设计与实现(第三部分):多机数据库的实现
随机推荐
常用 crud 的思考和设计
C语言联合体union占用空间大小问题
OSPF故障排除办法
[After a 12] No record for a whole week
用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!
A deep learning code base for Xiaobai, one line of code implements 30+ attention mechanisms.
二、自动配置之底层注解
基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)
AIDL详解
六、请求处理—获取请求参数系列注解是怎样工作的?
网管日记:故障网络交换机快速替换方法
【论文阅读-表情捕捉】ExpNet: Landmark-Free, Deep, 3D Facial Expressions
【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)
LeetCode刷题之第129题
单变量线性回归
【shell编程】第二章:条件测试语句
SQL (2) - join window function view
读论文-Cycle GAN
1008 数组元素循环右移问题 (20 分)
You should write like this