[编程题] 奇数位上都是奇数或者偶数位上都是偶数
2015-04-13 09:45
375 查看
给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6…算作偶数位,下标1,3,5,7…算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可
class Solution { public: /** * 奇数位上都是奇数或者偶数位上都是偶数 * 输入:数组arr,长度大于2 * len:arr的长度 * 将arr调整成奇数位上都是奇数或者偶数位上都是偶数 */ void oddInOddEvenInEven(vector<int>& arr, int len) { int temp; for(int i=0;i<len;i++){ if (arr[i]%2==0){ if (i%2==0){ continue; } else{ temp=arr[i]; arr[i]=arr[i-1]; arr[i-1]=temp; } } else{ if (i%2!=0){ continue; } else{ temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } } } };
相关文章推荐
- [编程题] 奇数位上都是奇数或者偶数位上都是偶数
- [编程题] 奇数位上都是奇数或者偶数位上都是偶数
- BAT实习内推 奇数位上都是奇数或者偶数位上都是偶数
- 奇数位上都是奇数或者偶数位上都是偶数
- 奇数位上都是奇数或者偶数位上都是偶数---BAT实习内推笔试卷(第一场)
- 奇数位上都是奇数偶数位上都是偶数
- 奇数下标都是奇数或者偶数下标都是偶数
- 奇数下标都是奇数或者偶数下标都是偶数
- 奇数下标都是奇数或者偶数下标都是偶数
- 偶数位上都是偶数,要么所有的奇数位上都是奇数
- 偶数位上都是偶数,要么所有的奇数位上都是奇数
- 数组与矩阵---奇数下标都是奇数或者偶数下标都是偶数
- 输入一个数字n 如果n为偶数则除以2,若为奇数则加1或者减1,直到n为1,求最少次数 写出一个函数
- sql 获取id是偶数或者是奇数的数据方法
- 设计算法将线性表中的元素分为两部分,要求左边都是奇数,右边都是偶数,时间复杂度O(n),空间复杂度O(1)
- [编程题]调整数组中奇数和偶数顺序
- ACL过滤奇数或者偶数路由
- 三目运算符判断奇数或者是偶数
- excel删除奇数行或者偶数行
- 趣题:选出最多的大小为奇数的子集,使得两两的交集大小都是偶数