Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. from typing import List
  2.  
  3.  
  4. def nums_substr(target_num: int, all_nums: List[int]) -> int:
  5. substr_nums = 0
  6. lp, rp = 0, 0
  7. current_sum = all_nums[0]
  8. for lp in range(len(target_num)):
  9.  
  10. while rp < len(all_nums) and current_sum <= target_num:
  11. rp += 1
  12. if rp < len(all_nums) and current_sum < target_num:
  13. current_sum += all_nums[rp]
  14. elif rp == len(all_nums) and current_sum < target_num:
  15. substr_nums += 1
  16.  
  17. if current_sum == target_num:
  18. substr_nums += 1
  19. current_sum -= all_nums[lp]
  20. lp += 1
  21.  
  22. elif current_sum > target_num:
  23. current_sum -= all_nums[lp]
  24. lp += 1
  25. else:
  26. break
  27.  
  28. return substr_nums
  29.  
  30.  
  31. if __name__ == '__main__':
  32. # target_num = int(input())
  33. # nums = [int(x) for x in input().split()]
  34.  
  35. target_num = 1
  36. nums = [int(x) for x in '1010']
  37. print(nums_substr(target_num, nums))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement