我正在尝试创建一个正整数和负整数数组,代表一个位置的南北距离-我需要以之字形顺序查看数组的元素。
这意味着最大的成员首先出现,最小的成员出现在第二位,其余元素在较大的成员从最大减少和较小的成员从最小增加之间交替出现。
即数组 [1, 3, 6, 9, -3] 变为 [9, -3, 6, 1, 3]。
我正在尝试完成这个函数wiggleArrangeArray
,它接受一个参数,一个由 n 个整数组成的整数数组。
我不知道怎么说
“如果数组中的项大于数组中的其他项,则先显示。”
“如果该项目小于数组中的其他项目,则显示第二个。”
“然后在下一个最大的数字和下一个最小的数字之间交替”
def wiggleArrangeArray(intArr):
for i in intArr
#if i > other items in intArr
#display that i at index value 0
#if i < other items in intArr
#display that i at index value 1
#if i < i at index value 0 and > other items in intArr, display it next
#if i > i at index value 1 and < other items in intArr, display it next
#repeat last two lines for continuing values
如果可能,请提供帮助。这是 C++ 解决方案的链接,但我在 Python 中需要它。谢谢。
编辑:该功能需要与以下测试一起使用:
f = open(os.environ["OUTPUT_PATH"], "w")
_intArr_cnt = int(raw_input())
_intArr_i=0
_intARR = []
while _intArr_i < _intArr_cnt:
_intArr_item = int(raw_input());
_intArr.append(_intArr_item)
_intArr_i+=1
res = wiggleArrangeArray(_intArr);
for res_cur in res:
f.write( str(res_cur) + "\n" )
f.close()