Flipping signs
Given a string made of ‘+’ and ‘-’ signs of length L, the only allowed operation is to flip K consecutive signs at the same time.
Input:
String: length L, made of only’+’ and ‘-’
Integer: K
Output:
Integer: the minimum number of times needed to flip all signs to ‘+’. if not possible, output -1.
Constraints:
L>= K
K>= 2
class Solution:
def minNumFlip(self, nums, K):
'''
:param nums: 字符串
:param K: 每次翻转的个数
:return:
'''
temp = "+"
count = 0
nums = list(nums) # Python中字符串是不可变类型,即无法直接修改字符串的某一位字符。需要把字符串转换成列表
for i in range(len(nums)):
if nums[i] != temp:
for j in range(K):
nums[i + j] = temp # 重新赋值字符串的某一位字符
count += 1
return count
solution = Solution()
# test1
nums = "+++---+++---+++---+++"
solution.minNumFlip(nums,1)