[华为机试真题]67.奇偶数入座

原创 2015年07月07日 09:12:13

题目

这里写图片描述

代码

/*---------------------------------------
*   日期:2015-07-07
*   作者:SJF0115
*   题目:奇偶数入座
*   来源:华为机试真题
-----------------------------------------*/
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;

vector<int> OddEvenSort(vector<int> num){
    int i,j,k;
    int size = num.size();
    vector<int> result;
    if(size == 0){
        return result;
    }//if
    vector<int> odd;
    vector<int> even;
    // 奇偶分离
    for(i = 0;i < size;++i){
        // 奇数
        if(num[i] % 2){
            odd.push_back(num[i]);
        }//if
        // 偶数
        else{
            even.push_back(num[i]);
        }//else
    }//for
    // 排序
    sort(odd.begin(),odd.end());
    sort(even.begin(),even.end());
    // 整合
    int oddSize = odd.size();
    int evenSize = even.size();
    int number = 0;
    for(i = 0,j = 0,k = 1;i < oddSize || j < evenSize;++k){
        // 奇数
        if(k % 2){
            number = i < oddSize ? odd[i] : 0;
            ++i;
        }//if
        // 偶数
        else{
            number = j < evenSize ? even[j] : 0;
            ++j;
        }//else
        result.push_back(number);
    }//while
    return result;
}

int main(){
    int n = 10;
    freopen("C:\\Users\\Administrator\\Desktop\\acm.txt","r",stdin);
    vector<int> vec;
    int num,i;
    // 输入
    for(i = 0;i < n;++i){
        cin>>num;
        vec.push_back(num);
    }//for
    // 排序
    vector<int> result = OddEvenSort(vec);
    // 输出
    int size = result.size();
    for(i = 0;i < size;++i){
        if(i == size-1){
            cout<<result[i]<<endl;
        }//if
        else{
            cout<<result[i]<<" ";
        }//else
    }//for
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

[华为机试练习题]60.水仙花数

题目描述: 水仙花数又称阿姆斯特朗数。 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153) 求输入的数字是...

[华为机试练习题]34.识别有效的IP地址和掩码并进行分类统计

题目描述: 请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为 A,B,C,D,E五类A类地址1.0.0.0~126.2...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

[华为机试练习题]27.渊子赛马

题目描述: 题目描述赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 赛马是当时最受...

[华为机试练习题]28.报数

题目描述: 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出,问最后留下的那位是原来第几号。 题目类别: 数组,指针 难度: 初级 运行时间限制: 10S...

[华为机试练习题]54.判断任意两台计算机的IP地址是否属于同一子网络

题目描述: 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算...

[LeetCode]234.Palindrome Linked List

题目Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) ti...

[华为机试练习题]50.求M的N次方的最后三位

题目描述: 正整数M 的N次方有可能是一个非常大的数字,我们只求该数字的最后三位例1:比如输入5和3 ,5的3次方为125,则输出为125 例2:比如输入2和10 2的10次方为1024 ,...

[华为机试真题][2014]63.等式变换

题目输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。1 2 3 4 5 6 7 8 9 = X比如:12-34+5-67+89 = 51+23+4-5+6-7-8-9 = ...

[华为机试练习题]5.IP地址判断有效性

题目判断输入的字符串是不是一个有效的IP地址详细描述:请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出...

[华为机试练习题]45.求某二进制数中1的个数

题目描述: 题目标题:求某二进制数中1的个数。给定一个unsigned int型的正整数,求其二进制表示中“1”的个数,要求算法的执行效率尽可能地高。 详细描述:原型:int GetCount(un...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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