剑指offer:调整数组顺序使奇数位于偶数前面
文章目录
- 分析
- 题目来源
分析
快排的思想:前后两个指针left和right分别从左往右遍历,和从右往左遍历。
- 对于left,如果是奇数,left一直右移;
- 对于right,如果是偶数,right一直左移;
- 如果两个指针没有相遇,就交换两个指针所指向的元素。
- 在相遇时退出。
ac代码
class Solution {public:vector<int> exchange(vector<int>& nums) {int left = 0 ,right = nums.size() - 1;while (left < right) {while (left < right && nums[left] % 2 == 1) left ++;while (left < right && nums[right] % 2 == 0) right --;if (left < right) swap(nums[left],nums[right]);}return nums;}
};
题目来源
https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/
https://www.acwing.com/problem/content/30/
剑指offer:调整数组顺序使奇数位于偶数前面相关推荐
- 剑指offer 调整数组顺序使奇数位于偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 分析: 我的思路 ...
- 剑指offer-99.调整数组顺序使奇数位于偶数前面
0 题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 1 分析 两边倒 ...
- 剑指offer0JZ81 调整数组顺序使奇数位于偶数前面(二)(C++,附思路)
描述 输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对 ...
- 【LeetCode笔记】剑指 Offer 21-. 调整数组顺序使奇数位于偶数前面(Java、双指针)
文章目录 题目描述 思路 & 代码 二刷 题目描述 有点像快排的交换操作 思路 & 代码 类似快排中的找法,具体见代码注释 class Solution {public int[] e ...
- 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
立志用最少的代码做最高效的表达 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4] 输 ...
- 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java
<LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...
- 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...
- 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
[LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...
- 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...
- 剑指offer:面试题21. 调整数组顺序使奇数位于偶数前面
题目:调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 示例: 输入:nums = [1,2,3,4 ...
最新文章
- Mac下配置Maven
- php 打开任意文件下载,TEC-004-php文件下载任意文件读取漏洞修复
- storm_常用命令
- Mybatis工作流程及其原理与解析
- java实现图片对比功能_Java 照片对比功能的实现
- 【MFC】带下拉菜单的工具栏
- 基于强跟踪卡尔曼滤波的隔振系统故障诊断——matab simulink仿真
- python闭包技巧_案例详析:Python闭包与nonlocal关键字
- 重装mysql 失败_重装MySQL最后一步失败的解决办法
- 系统迁移到ssd 开启哪些服务器,如何使用分区助手完美迁移系统到SSD固态硬盘...
- 做一个有意境的女人难上加难
- (一)线段树入门--补充与其他模板
- robots.txt漏洞
- Python复习 基础知识
- 用pip freeze >requirements.txt命令迁移模块
- 四川文科高考300分可以上什么专科
- 初中级前端面试复习总结(浏览器、HTTP、前端安全)
- Mac下安装与使用Medis
- 基于淘宝开源Tair分布式KV存储引擎的整合部署
- 公钥密码的三大数学问题
热门文章
- Storm具体的解释(二)、成为第一Storm申请书
- java执行时的两个常见问题(无法加载主类)
- oracle 查看 用户,用户权限,用户表空间,用户默认表空间
- POJ 2075 Tangled in Cables
- C# 集合类(三):Stack
- python dataframe去掉索引_关于python:删除具有重复索引的行(Pandas DataFrame和TimeSeries)...
- c 递归下降识别程序_看动画轻松理解递归与动态规划
- 应用化学:顺式丁烯醛与反式丁烯醛的网络
- 用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型
- centos 安装vscode_CentOS6下安装VSCode