LintCode 373: Partition Array

LintCode 373: Partition Array

题目描述

分割一个整数数组,使得奇数在前偶数在后。

样例

给定[1, 2, 3, 4],返回[1, 3, 2, 4]

Thu Feb 23 2017

思路

简单题,可以很自然地想到再用一个答案数组,从头到尾遍历一遍,遇到奇数就放到答案数组的前面,遇到偶数就放到答案数组的后面。

还有另一种方法,跟快速排序的形式有点像,即从前面找到一个偶数,同时从后面找到一个奇数,将两个数调换。

虽然两种方法的时间复杂度都是\(O(n)\),但是第二种方法的空间复杂度是\(O(1)\),算是更优的方法。

代码

// 奇偶分割数组
void partitionArray(vector<int> &nums)
{if (nums.size() <= 0) return;vector<int>::iterator l = nums.begin(), r = nums.end() - 1;while(l != r){while (l != r && *l % 2 == 1) ++l;while (l != r && *r % 2 == 0) --r;swap(*l, *r);}
}

转载于:https://www.cnblogs.com/genkun/p/6436058.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刚刚,Science发布2019十大科学突破!

来源&#xff1a;中国生物技术网 北京时间12月20日&#xff0c;《Science》公布了今年的十大突破。“直视”黑洞图片来源&#xff1a;UNIVERSITY OF ARIZONA/INSTITUTE FOR ADVANCED STUDY图片来源&#xff1a;EHT COLLABORATION/CC 4.0巨大的、无处不在的黑洞&#xff0c;在某…

nginx php分离,nginx-php配置动静分离

实验目的&#xff1a;nginx-php配置动静分离实验环境&#xff1a;主机 192.168.88.100 NGINX服务器主机 192.168.88.102 PHP和MYSQL服务器注意&#xff1a;想要手工编译必须安装gcc gcc-c make 这三个插件并且关闭防火墙service firewalld stopsystemctl disable firewalld1.在…

用python分析小说_用Python对哈利波特系列小说进行情感分析

原标题&#xff1a;用Python对哈利波特系列小说进行情感分析准备数据现有的数据是一部小说放在一个txt里&#xff0c;我们想按照章节(列表中第一个就是章节1的内容&#xff0c;列表中第二个是章节2的内容)进行分析&#xff0c;这就需要用到正则表达式整理数据。比如我们先看看 …

模仿u-boot的makefile结构

u-boot&#xff08;2014.04&#xff09;是通过顶层makefile调用各子目录中的makefile来实现整个工程的编译的&#xff0c;实际上子目录的makefile是include进来的。这里仿照这种结构写个模板测试一下。 目录结构&#xff1a; mytest&#xff1a; add&#xff1a; mul&#xff1…

我国机器视觉企业体量偏小,上游零部件占利润大头

来源&#xff1a;仪商网根据中国机器视觉产业联盟(CMVU)调查统计&#xff0c;目前进入中国市场的国际机器视觉企业和中国本土的机器视觉企业(不包括代理商)都已经超过200家&#xff0c;产品代理商超过300家&#xff0c;专业的机器视觉系统集成商超过70家&#xff0c;覆盖全产业…

php 后端 轻量 框架,GitHub - 22cloud/mixphp: 轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)...

高性能 • 轻量级 • 命令行MixPHP 是什么MixPHP 秉承 "普及 PHP 常驻内存型解决方案&#xff0c;促进 PHP 往更后端发展" 的理念而创造&#xff0c;采用 Swoole 扩展作为底层引擎&#xff0c;围绕常驻内存的方式而设计&#xff0c;提供了 Web / Console 开发所需的众…

技术面试问项目难题如何解决的_技术创新 | 降本增效,青海农信社项目小伙刻苦钻研解决联合支架设计难题!...

革新READ随着建筑技术的进步&#xff0c;建筑内部功能和机电系统越来越多样&#xff0c;带来机电管线的数量成倍增加。为节约建筑空间&#xff0c;提高建筑净高&#xff0c;保证系统功能&#xff0c;提升履约品质&#xff0c;越来越多的项目选择采用联合支架的形式将各类管线集…

MYSQL四

-- ########## 01、ER关系 ##########-- ER关系&#xff08;逻辑描述&#xff09; -- A&#xff1a;E---Entity简写&#xff0c;实体&#xff0c;具有相同属性&#xff08;特征&#xff09;的对象归为同一实体 -- Attribute属性&#xff0c;描述实体具有的特征&#xff…

AI研究过于集中狭隘,我们是不是该反思了?

来源&#xff1a;AI科技大本营译者 | 陆离编辑 | 夕颜【导读】2019年是AI领域更加冷静的一年&#xff0c;少了些喧嚣和泡沫&#xff0c;大浪淘沙留下的是经过检验的真正的AI研究者、实践者。但是你也许没有发现&#xff0c;本来被寄予厚望要解决一切“疑难杂症”的AI&#xff0…

svchost占用内存过高_是什么导致你的Java服务器内存和CPU占用过高呢

一、内存占用过高1、造成服务器内存占用过高只有两种情况&#xff1a;内存溢出或内存泄漏(1)内存溢出&#xff1a;程序分配的内存超出物理内存的大小&#xff0c;导致无法继续分配物理内存&#xff0c;出现OOM报错。(2)内存泄漏&#xff1a;不再调用的对象一直占用着内存不释放…

php取不到post数据库,安卓post 数据到php 在写入数据库老是不成功, 数据post不到php...

代码如下安卓端public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);new Thread(){Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);new Thread(){Overridepublic void run(){ArrayList para…

Even Three is Odd

题意&#xff1a; 问题是对于所有的长度为n&#xff0c;且$1<ai<n$的整数序列求 $\prod_{i1}^{n-2}{max \{w_i,w_{i1},w_{i2}}\}$ 之和。 解法&#xff1a; 首先设dp状态为 $f(i,j,k)$ &#xff0c;长度为$i3$的&#xff0c;最大值为k&#xff0c;且最大值出现的位置集合…

中国图书评论协会2019年度“中国好书”

来源&#xff1a;腾讯网2019.12.16第1127次推送为读者发现好书&#xff0c;为好书寻找读者。“中国好书”月榜由我国权威的图书评测机构中国图书评论学会发布&#xff0c;志达书店经整理编辑&#xff0c;为您呈现“中国好书”2019年度榜单&#xff08;1-10月&#xff09;。寒假…

pythonfor循环列表排序_Python使用for循环对列表内元素进行排序方法

这篇文章介绍Python使用for循环对列表内元素进行排序方法list [13, 22, 6, 99, 11]for m in range(len(list)-1):for n in range(m1, len(list)):if list[m]> list[n]:temp list[n]list[n] list[m]list[m] tempprint list结果&#xff1a;[6, 11, 13, 22, 99]分析&#…

a标签居中 img vue,让html img图片垂直居中的三种方法

三种让img元素图片在盒子内垂直居中的方式教程&#xff0c;依据代码与文章教程熟习掌握并加以应用。一、使用flex完成垂直居中操纵css flex实现垂直居中。flex或许不是完成垂直居中最好的选择&#xff0c;由于IE8,9其实不赞成它。那时&#xff0c;为了用flex实现垂直居中&#…

python——面向对象相关

其他相关 一、isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 123456class Foo(object):passobj Foo()isinstance(obj, Foo)二、issubclass(sub, super) 检查sub类是否是 super 类的派生类 1234567class Foo(object):passclass Bar(Foo):passissubclass(Bar, Foo)三、异…

德国工业4.0眼里“工业互联网”与“智能制造”

来源&#xff1a;智造智库工业4.0在德国被认为是第四次工业革命&#xff0c;主要是指&#xff0c;在“智能工厂”利用“智能备”将“智能物料”生产成为“智能产品”&#xff0c;整个过程贯穿以“网络协同”&#xff0c;从而提升生产效率&#xff0c;缩短生产周期&#xff0c;降…

python常用模块教程_盘点Python常用的模块和包

模块1.定义计算机在开发过程中&#xff0c;代码越写越多&#xff0c;也就越难以维护&#xff0c;所以为了编写可维护的代码&#xff0c;我们会把函数进行分组&#xff0c;放在不同的文件里。在python里&#xff0c;一个.py文件就是一个模块。2.优点&#xff1a;提高代码的可维护…

php 正则匹配静态资源,Struts2 配置静态资源文件不经过Strut处理(正则匹配)

Struts2框架有两个核心配置文件&#xff1a;struts.xml和Struts2默认属性文件default.properties(在struts2-core-2.3.20.jar中)default.properties可以通过自己在classpath下写一个struts.properties文件进行定制改写为什么是struts.properties&#xff0c;这可以看org.apache…

全球数字孪生市场大预测:2025 年的 358 亿美元,年复合增长率(CAGR)高达 37.8%...

来源&#xff1a;云头条 数字孪生市场估计将从2019年的38亿美元猛增到2025年的358亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;高达37.8%。推动数字孪生需求增长的几个因素包括&#xff1a;越来越广泛地采用物联网和云计算之类的技术用于实施数字孪生&#xff…