Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from typing import List
- def nums_substr(target_num: int, all_nums: List[int]) -> int:
- substr_nums = 0
- lp, rp = 0, 0
- current_sum = all_nums[0]
- for lp in range(len(target_num)):
- while rp < len(all_nums) and current_sum <= target_num:
- rp += 1
- if rp < len(all_nums) and current_sum < target_num:
- current_sum += all_nums[rp]
- elif rp == len(all_nums) and current_sum < target_num:
- substr_nums += 1
- if current_sum == target_num:
- substr_nums += 1
- current_sum -= all_nums[lp]
- lp += 1
- elif current_sum > target_num:
- current_sum -= all_nums[lp]
- lp += 1
- else:
- break
- return substr_nums
- if __name__ == '__main__':
- # target_num = int(input())
- # nums = [int(x) for x in input().split()]
- target_num = 1
- nums = [int(x) for x in '1010']
- print(nums_substr(target_num, nums))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement