lintcode373 奇偶分割数组
奇偶分割数组
分割一个整数数组,使得奇数在前偶数在后。
给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。
我的方法:设定两个数组,分别保存奇偶。使用了额外空间。
时间:340 ms
class Solution {
public:
void partitionArray(vector<int> &nums) {
// write your code here
if (nums.empty()) {
return;
}
vector<int> odd;
vector<int> even;
int len = nums.size();
for (int i = ; i < len; i++) {
if (nums[i] % ) {
odd.push_back(nums[i]);
} else {
even.push_back(nums[i]);
}
}
for (int i = ; i < even.size(); i++) {
odd.push_back(even[i]);
}
nums = odd;
}
};
网上别人方法:不使用额外空间。
时间:288 ms
class Solution {
public:
void partitionArray(vector<int> &nums) {
int i = , j = nums.size() - ;
while (i < j) {
if ( == nums[i] % ) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
j--;
} else {
i++;
}
}
return;
}
};
lintcode373 奇偶分割数组的更多相关文章
- LintCode-373.奇偶分割数组
奇偶分割数组 分割一个整数数组,使得奇数在前偶数在后. 样例 给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]. 挑战 在原数组中完成,不使用额外空间. 标签 数组 两根指针 code ...
- lintcode 容易题:Partition Array by Odd and Even 奇偶分割数组
题目: 奇偶分割数组 分割一个整数数组,使得奇数在前偶数在后. 样例 给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]. 挑战 在原数组中完成,不使用额外空间. 解题: 一次快速排序就可 ...
- LintCode之奇偶分割数组
题目描述: 我的分析:题目要求将奇数放在偶数的前面,没有要求将奇数或偶数排序,因此我可以设置两个指针,一个(i)指向数组第一个数字,另一个(j)指向数组的最后一个数字,因为奇数要放在前面,所以从后往前 ...
- LeetCode 548. Split Array with Equal Sum (分割数组使得子数组的和都相同)$
Given an array with n integers, you need to find if there are triplets (i, j, k) which satisfies fol ...
- LeetCode——数组篇:659. 分割数组为连续子序列
659. 分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [ ...
- php用explode,可以提供多个字符作为分割符来进行分割数组吗?
explode — 使用一个字符串分割另一个字符串, 它的函数原型如下: array explode ( string $delimiter , string $string [, int $limi ...
- LeetCode905.按奇偶排序数组
905.按奇偶排序数组 问题描述 给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素. 你可以返回满足此条件的任何数组作为答案. 示例 输入:[3,1,2, ...
- LeetCode 410——分割数组的最大值
1. 题目 2. 解答 此题目为 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第二道--最小分割分数. class Solution { public: // 若分割数组的最大值 ...
- Leetcode 659.分割数组为连续子序列
分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [1,2,3 ...
随机推荐
- 时间比较方法DateTime.Compare
格式:DateTime.Compare(datetime1, datetime2) 参数为时间格式,为第一个参数比较第二个参数,返回小于0的值,等于0或大于0的值. 实例: string st1 = ...
- MySQL数据库安装配置步骤详解
MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Comple ...
- PredicateBuilder
using System; using System.Linq; using System.Linq.Expressions; namespace Oyang.Tool { public static ...
- vue的监听键盘事件的快捷方法
在我们的项目经常需要监听一些键盘事件来触发程序的执行,而Vue中允许在监听的时候添加关键修饰符: <input v-on:keyup.13="submit"> 对于一些 ...
- 如何解决php无法存储session中的问题?
场景:前几天在一个技术群里面,看到一个小伙伴提出了一个问题------在thinkphp框架中,使用用户登录将用户信息存储在session,始终是无法存储的. 解决思路:先查看了代码逻辑(确证无误)- ...
- Python学习笔记三:数据类型
数据类型 整数int 32位机器,-2**31~2**31-1,即-2147483648~2147483647(4亿多) 64位机器,-2**63~2**63-1,非常大了. 长整型long 没有位数 ...
- IA64与x86-64的区别
win7 sp1下载地址:https://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/wind ...
- 【普及】NOIP2011 瑞士轮
用sort会超时,显而易见. 然后想到了归并.至于为什么把运动员分成输与赢两组,我也不是很清楚,也许换种方式分组也行,但是分成输与赢两组更容易分组与合并. #include<iostream&g ...
- 牛客小白月赛4-E-浮点数输出 字符串
#include <bits/stdc++.h> int main() { ]; scanf("%s",a); printf("%s\n",a); ...
- SpringBoot 解决ModelAndView强转Json问题
最近一直在做SpringBoot升级的项目,碰到了一个很蛋疼的问题. 我们项目和前端的AngularJs通过Json来传递信息,但是我们有一块的代码在Controller返回的是ModelAndVIe ...