Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. class Solution:
  2.     # @param A : list of integers
  3.     # @return a list of integers
  4.     def maxset(self, A):
  5.         current_max = A[0]
  6.         max_length = 0
  7.         current_sum = 0
  8.         current_length = 0
  9.         next_max_idx = 0
  10.         current_idx = 0
  11.         max_idx = 0
  12.         max_idx2 = 0
  13.         flag = 0
  14.         flag2 = 0
  15.         flag3 = False
  16.         for i in xrange(len(A)):
  17.             x = A[i]
  18.             if x >= 0:
  19.                 if flag == 0:
  20.                     flag = 1
  21.                 if flag2 == 0:
  22.                     flag2 = 1
  23.                     current_idx = i
  24.                 current_sum += x
  25.                 current_length += 1
  26.             if x < 0 or i == len(A) - 1:
  27.                 if flag == 1:
  28.                     flag = 2
  29.                 if flag2 == 1:
  30.                     flag2 = 0
  31.                 if current_sum > current_max:
  32.                     current_max = current_sum
  33.                     max_idx = current_idx
  34.                     max_idx2 = i
  35.                     if i == len(A) - 1 and x >= 0:
  36.                         flag3 = True
  37.                 elif current_sum == current_max and current_length > max_length:
  38.                         max_length = current_length
  39.                         max_idx = current_idx
  40.                         max_idx2 = i
  41.                         if i == len(A) - 1 and x >= 0:
  42.                             flag3 = True
  43.                 current_sum = 0
  44.                 current_length = 0
  45.         if flag != 2:
  46.             return []
  47.         if flag3:
  48.             max_idx2 += 1
  49.         # print max_idx, max_idx2
  50.         return A[max_idx:max_idx2]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement