码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode922----按奇偶排序数组

时间:2020-06-01 16:52:47      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:测试   app   sort   style   while   --   排序   描述   数组   

题目描述:

给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。
 
 1 def sortArray(A):
 2     odd = []
 3     even = []
 4     array = []
 5     for i in A:
 6         if i % 2 == 0:
 7             even.append(i)
 8         else:
 9             odd.append(i)
10 
11     for i in range(len(even)):
12         array.append(even[i])
13         array.append(odd[i])
14 
15     return array
16 
17 
18 print("==============测试sortArray(A)=========")
19 A = [2, 31, 4, 6, 9, 5]
20 array = sortArray(A)
21 print("array=", array)
22 
23 
24 def sortArray(A):
25     ‘‘‘
26 
27     :param A:
28     :return:
29     ‘‘‘
30     array1 = [0] * len(A)
31     t = 0
32     q = 1
33     for i in A:
34         if i % 2 == 0:
35             array1[t] = i
36             t = t + 2
37         else:
38             array1[q] = i
39             q = q + 2
40 
41     return array1
42 
43 
44 print("============测试sortArray1()===========")
45 array1 = sortArray(A)
46 print(array=, array1)
47 
48 
49 def sortArray2(A):
50     ‘‘‘
51     使用切片
52     :param A:
53     :return:
54     ‘‘‘
55     size = len(A)
56     array2 = [0] * size
57     array2[0::2] = [i for i in A if i % 2 == 0]
58     array2[1::2] = [i for i in A if i % 2 != 0]
59 
60     return array2
61 
62 
63 print(----------测试sortArray2()------------)
64 array2 = sortArray2(A)
65 print("array2=", array2)
66 
67 
68 def sortArray3(A):
69     ‘‘‘
70 
71     :param A:
72     :return:
73     ‘‘‘
74     size = len(A)
75     j = 1
76     for i in range(0, size, 2):
77         if A[i] % 2:  # 奇数
78             while A[j] % 2:
79                 j += 2
80 
81             A[i], A[j] = A[j], A[i]
82 
83     return A
84 
85 
86 print(----------测试sortArray3()------------)
87 array3 = sortArray3(A)
88 print("array3=", array3)

输出:

==============测试sortArray(A)=========
array= [2, 31, 4, 9, 6, 5]
============测试sortArray1()===========
array= [2, 31, 4, 9, 6, 5]
----------测试sortArray2()------------
array2= [2, 31, 4, 9, 6, 5]
----------测试sortArray3()------------
array3= [2, 31, 4, 9, 6, 5]

 

leetcode922----按奇偶排序数组

标签:测试   app   sort   style   while   --   排序   描述   数组   

原文地址:https://www.cnblogs.com/rounie/p/13025986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!