整型数组(一)

来源:互联网 发布:informix默认端口 编辑:程序博客网 时间:2024/05/21 01:29

Remove Element

Given an array and a value, remove all occurrencesof that value in placeand return thenew length.The order of elements can be changed, and the elements after thenew length don't matter.ExampleGiven an array [0,4,4,0,0,2,4,4], value=4return 4 and front four elements of the array is [0,0,0,2]

def remove(s,value,length):    if s is None: return False    a=[]    for i in range(len(s)):        if s[i]!=value and len(a)<length: a.append(s[i])    return as=[0,4,4,0,0,2,4,4]value=4length=4remove(s,value,length)


Zero Sum Subarray

Given an integer array, find a subarray where the sum of numbers is zero.Your code should return the index of the first number and the index of the last number.ExampleGiven [-3, 1, 2, -3, 4], return [0, 2] or [1, 3].NoteThere is at least one subarray that it's sum equals to zero.
def zero_sum(s):    c=[]    for i in range(int(len(s)/2)+1):        a=[]        b=[]        for j in range(len(s)-1-i):            a=s[i:j+i+1]            if np.sum(a)==0: b.append([i,j+i])        if b!=[]:c.append(b)    return cs=[-3, 1, 2, -3, 4]zero_sum(s)

Note:

1. At first I try to add i+1 to range(len(s)-1+i), but this operation will connect two lists together. Finally I find change to [i:i+j] is useful.

2.About loop: tab means executing the correlated operations.


原创粉丝点击