顺序表相关习题

news/2024/12/2 23:01:27/

🌈 个人主页:白子寰
🔥 分类专栏:python从入门到精通,魔法指针,进阶C++,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~
💡 坚持创作博文(平均质量分81+),分享更多关于深度学习、C/C++,python领域的优质内容!(希望得到您的关注~) 

 

 

目录

【力扣】-- 移除元素

链接

题目要求

 示例

解法 

①使用for循环遍历整个数组 

② 双指针法(定义两个变量)

【力扣】-- 合并两个有序数组

链接

题目要求

示例

解法

①先合并后统一排序 

 ②从后往前比大小


【力扣】-- 移除元素

链接

移除元素icon-default.png?t=N7T8https://leetcode.cn/problems/remove-element/description/

题目要求

 

 示例

输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2] 

 

解法 

①使用for循环遍历整个数组 

int removeElement(int* nums, int numsSize, int val) {int size = 0;for(int i = 0; i < numsSize - 1; i++){if(nums[i] != val){nums[size] = nums[i];size++;/*也可以写成nums[size++] = nums[i]*/}}return size; 
}

 


② 双指针法(定义两个变量)

int removeElement(int* nums, int numsSize, int val) {int src = 0, dst = 0;while(src < numsSize){if(nums[src] != val){nums[dst++] = nums[src++];}else{src++;}}return dst;
}

 

【力扣】-- 合并两个有序数组

链接

合并两个有序数组icon-default.png?t=N7T8https://leetcode.cn/problems/merge-sorted-array/description/

题目要求

 


示例

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
解释:需要合并 [1,2,3] 和 [2,5,6] 。
合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。

 

解法

①先合并后统一排序 

int cmp(int* p1,int* p2)
{return *p1 - *p2;
}void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {for(int i = 0; i < n; ++i){nums1[m + i] = nums2[i];}qsort(nums1,nums1Size,sizeof(int),cmp);
}

 

 ②从后往前比大小

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int l1 = m - 1;int l2 = n - 1;int l3 = m + n - 1;//从后往前比大小while(l1 >= 0 && l2 >= 0){//谁大谁放在后面if(nums1[l1]>nums2[l2]){nums1[l3--] = nums1[l1--];}else{nums1[l3--] = nums2[l2--];}}//最后要么l1<0,要么l2<0while(l2 >= 0){nums1[l3--] = nums2[l2--];}
}

 

***********************************************************分割线*****************************************************************************
完结!!!

感谢浏览和阅读。
等等等等一下,分享最近喜欢的一句话:

“选择本身,就是向前”。

我是白子寰,如果你喜欢我的作品,不妨你留个点赞+关注让我知道你曾来过。
你的点赞和关注是我持续写作的动力!!! 
好了划走吧。 


http://www.ppmy.cn/news/1408920.html

相关文章

DM数据库状态

DM 数据库包含以下几种状态&#xff1a; 配置状态&#xff08;MOUNT&#xff09;&#xff1a; 不允许访问数据库对象&#xff0c;只能进行控制文件维护、归档配置、数据库模式修改等操作&#xff1b;打开状态&#xff08;OPEN&#xff09;&#xff1a; 不能进行控制文件维护、…

Pytorch实用教程:TensorDataset和DataLoader的介绍及用法示例

TensorDataset TensorDataset是PyTorch中torch.utils.data模块的一部分&#xff0c;它包装张量到一个数据集中&#xff0c;并允许对这些张量进行索引&#xff0c;以便能够以批量的方式加载它们。 当你有多个数据源&#xff08;如特征和标签&#xff09;时&#xff0c;TensorD…

LeetCode刷题实战3:无重复字符的最长子串

题目内容 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解…

golang语言系列:Web框架+路由 之 Gin

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是golang语言学习系列&#xff0c;本篇对Gin框架的基本使用方法进行学习 1.Gin框架是什么 Gin 是一个 Go (Golang) 编写的轻量级 http web 框架&#xff0c;运行速度非常快&#xff0c;如果你是性能和高效的追求者…

武汉星起航:跨境电商领域的领航者,助力全球贸易新篇章

自2017年以来&#xff0c;武汉星起航一直专注于亚马逊自营店铺&#xff0c;积累了宝贵的经验。2020年正式成立后&#xff0c;公司以跨境电商为核心&#xff0c;致力于为合作伙伴提供深入的合作模式。武汉星起航凭借其卓越的服务和实战经验&#xff0c;已成功助力众多创业者实现…

最优控制理论笔记 - 02变分与泛函1

目录 一、概念 二. 函数接近 1. 零阶接近度 2. 一阶接近度 3. K阶接近度 三、函数间的距离 四、连续泛函 五、线性泛函 六、变分的概念 1. 宗量的变分 2. 泛函的变分 3. 函数的变分 七、泛函变分的计算方法 例题 八、泛函的极值 九、泛函极值定理 一、概念 …

Canal1.1.5整Springboot在MQ模式和TCP模式监听mysql

canal本实验使用的是1.1.5&#xff0c;自行决定版本&#xff1a;[https://github.com/alibaba/canal/releases] canal 涉及的几个角色 canal-admin&#xff1a;canal 后台管理系统&#xff0c;管理 canal 服务canal-deployer&#xff1a;即canal-server&#xff08;客户端&…

websocket调用http接口

WebSocket 和 HTTP 接口是两种不同的通信协议&#xff0c;WebSocket 是一种建立在 TCP 连接上的全双工通信协议&#xff0c;可以实现服务器和客户端之间的实时通信。HTTP 接口则是基于请求-响应模式的协议&#xff0c;通常用于客户端向服务器发送请求&#xff0c;并获取服务器的…