LintCode-剑指Offer-(373)奇偶分割数组

原创 2015年11月21日 17:32:17
class Solution {
public:
    /**
     * @param nums: a vector of integers
     * @return: nothing
     */
    void partitionArray(vector<int> &nums) {
        // write your code here
        int i=0;
        int j=nums.size()-1;
        while(i<j){
            while(nums[i]%2==1){
                i++;
            }
            while(nums[j]%2==0){
                j--;
            }
            if(i<j){
                nums[i]=nums[i]+nums[j];
                nums[j]=nums[i]-nums[j];
                nums[i]=nums[i]-nums[j];
            }

        }
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

奇偶分割数组(LintCode)

题目来源:LintCode 原题地址:http://www.lintcode.com/zh-cn/problem/partition-array-by-odd-and-even/ ...
  • lyy_hit
  • lyy_hit
  • 2015年10月26日 22:40
  • 1099

奇偶分割数组

分割数组

奇偶分割数组-LintCode

分割一个整数数组,使得奇数在前偶数在后。样例: 给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。挑战: 在原数组中完成,不使用额外空间。#ifndef C373_H #defin...

剑指offer/LeetCode146/LintCode134_LRU缓存实现

剑指offer/LeetCode146/LintCode134_LRU缓存实现声明文章均为本人技术笔记,转载请注明出处 1 https://segmentfault.com/u/yzwall [2...
  • J_Dark
  • J_Dark
  • 2017年06月03日 19:25
  • 173

数组奇偶按照一定顺序排列

对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉放且输出数组第一位放奇数,若奇数和偶数不等长,则把剩下的直接放到数组中。 #include #include using na...
  • hwltony
  • hwltony
  • 2013年08月28日 11:02
  • 509

用 Python实现链表的翻转,奇偶下标修改(利用数组,非常简单)

1. 首先是链表翻转 效果: 0->1->2->3 ...... ->9     变为   9->8->7->......->0 class NodeList: def __init__(...

助教:c/c++——数组元素奇偶排列:由此引发对if和while语句的简单问题的思考

我用到的教材是《c/c++语言》
  • xmh1954
  • xmh1954
  • 2014年04月18日 11:51
  • 884

Java数据结构与算法之数组排序——奇偶排序

思路: 它的思路是在数组中重复两趟扫描。 第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1,3,5,……)。 如果它们的关键字的值次序颠倒,就交换它们。 第二...
  • a80C51
  • a80C51
  • 2015年10月08日 20:45
  • 298

winform 奇偶分割源码

  • 2009年11月26日 14:15
  • 17KB
  • 下载

对单链表分割为奇偶有序链表

原理: ①对原链表中数据进行奇偶分布,奇数在前偶数在后 ②对原链表进行遍历,直至遍历至偶数,进行分割 ③对分割后的链表进行排序/头插法建立带头结点的单链表函数/ LinkList *Creat...
  • Rankir
  • Rankir
  • 2017年03月15日 22:57
  • 634
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LintCode-剑指Offer-(373)奇偶分割数组
举报原因:
原因补充:

(最多只允许输入30个字)