当前位置:网站首页>力扣之顺序表
力扣之顺序表
2022-07-29 14:03:00 【娜是北溟鱼】
写在前面:
学完复杂度之后,算是正式进入到数据结构的学习。至此我们将首先了解顺序表的有关知识,包括增删查改等接口函数及其思想。顺序表其实就是数组,它要求数据在内存中必须是连续存储的。本文主要介绍力扣的三道顺序表的习题,这些习题主要利用双指针的思想来解决。
1.力扣第二十七题:移除元素
2.力扣第二十六题:删除重复元素
3.力扣第八十八题:合并两个有序数组
1.移除元素:

想法清楚了,写代码就不是什么难事了。代码如下:
int removeElement(int* nums, int numsSize, int val)
{
int src=0,dst=0;
while(src<numsSize)
{
if(nums[src]==val)
{
src++;
}
else
{
nums[dst]=nums[src];
dst++;
src++;
}
}
return dst;
}2.删除重复元素(去重):

代码如下:
int removeDuplicates(int* nums, int numsSize)
{
int src=0,dst=0;
while(src<numsSize)
{
if(nums[src]==nums[dst])
{
src++;
}
else
{
dst++;
nums[dst]=nums[src];
src++;
}
}
return dst+1;
}这里唯一要注意的就是返回值,dst只是数组的下标,而数组总元素的大小应该是下标加一。
3.合并两个有序数组:

代码也很简单:
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
int end1=m-1;
int end2 = n-1;
int i =m+n-1;
while(end1>=0&&end2>=0)
{
if(nums1[end1]>nums2[end2])
{
nums1[i--]=nums1[end1--];
}
else
{
nums1[i--]=nums2[end2--];
}
}
while(end2>=0)
{
nums1[i--]=nums2[end2--];
}
}写在后面:
各个题目的思想解读我对放在图片中一起讨论了,因为我感觉这样会更好理解。博主的图也是有限的,所以这篇博客就不放图了,骚话也没想到,继续期待下一篇吧,说不定下一篇就有了。
边栏推荐
猜你喜欢

The Advanced Guide to the Computer Professional Interview

164. 可达性统计

如何返回一个数字的所有质因数?

Alibaba CTO Cheng Li: open source is the source of basic software!

国内helm快速安装和添加常用charts仓库

84.(cesium之家)cesium模型在地形上运动

蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修30天,挺进京东

2022开放原子全球开源峰会数据库分论坛圆满召开

EA&UML日拱一卒-活动图::Object actions(续)

面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决?
随机推荐
MySQL 是如何实现 ACID 的?
【Postman】Download and installation (novice graphic tutorial)
第4章_2——视图的使用
请写出用Graphics2D类的新方法画一个图形的步骤(表格如何画斜线)
力扣541. 反转字符串 II ----双指针解法
web会话管理与xss攻击
如何使用MISRA改进嵌入式编程
这么多年了,还搞不懂正则语法?
【论文阅读】异常检测的视频通过Self-Supervised和多任务学习
共享内存 - shmget填坑记
城市污水处理过程模型预测控制研究综述
马尔可夫跳变线性系统最优控制的研究现状与进展
human pose estimation-DEKR2021CVPR
力扣 206.反转链表--递归解决
3555. 二叉树
How to return all prime factors of a number?
Work Efficiency - Fifteen minutes allows you to quickly learn Markdown syntax to proficient in typesetting practice notes
Why do strings use the final keyword
How to Improve Embedded Programming with MISRA
StarRocks 2.3 新版本特性介绍