当前位置:网站首页>(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,如果我的文章能对您有帮助的话,麻烦各位观众姥爷们点赞、收藏、关注,你们的每一次举手之劳都将化为船长的前进动力!
边栏推荐
- 六步搞定子网划分
- CVPR 2022 | 70% memory savings, 2x faster training
- AIDL详解
- LeetCode刷题之第86题
- 5G中切片网络的核心技术FlexE
- 《基于机器视觉测量系统的工业在线检测研究》论文笔记
- 用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!
- 【Kaggle项目实战记录】一个图片分类项目的步骤和思路分享——以树叶分类为例(用Pytorch)
- The University of Göttingen proposed CLIPSeg, a model that can perform three segmentation tasks at the same time
- LeetCode刷题之第61题
猜你喜欢

【shell编程】第三章:函数

基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)

用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!

PoE视频监控解决方案

神经网络也能像人类利用外围视觉一样观察图像

Comparison and summary of Tensorflow2 and Pytorch in terms of basic operations of tensor Tensor

Detailed explanation of BroadCast Receiver (broadcast)

最简单的防抖节流理解法

MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA

Thread handler句柄 IntentServvice handlerThread
随机推荐
【Promise高级用法】实现并行和串行API
Detailed explanation of BroadCast Receiver (broadcast)
表情捕捉的指标/图像的无参考质量评价
伪RTOS-ProroThread在CH573芯片上的移植
Facial Motion Capture 调研
【ts】typescript高阶:联合类型与交叉类型
RecycleView和ViewPager2
面向小白的深度学习代码库,一行代码实现30+中attention机制。
AIDL详解
【ts】typescript高阶:模版字面量类型
【Kaggle项目实战记录】一个图片分类项目的步骤和思路分享——以树叶分类为例(用Pytorch)
深度学习系列(二)优化器 (Optimization)
一个小时教你如何掌握ts基础
【Shell编程】第一章:子串
【ts】typescript高阶:条件类型与infer
A deep learning code base for Xiaobai, one line of code implements 30+ attention mechanisms.
常见的 PoE 错误和解决方案
LeetCode刷题之第86题
MySQL
【论文阅读-表情捕捉】High-quality Real Time Facial Capture Based on Single Camera