class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
l = 0
if not nums:
return -1
r = len(nums) - 1
while l <= r:
mid = (l + r)//2
if nums[mid] == target:
return mid
elif nums[mid] < nums[r]:
if nums[mid]< target and target <= nums[r]:
l = mid + 1
else:
r = mid - 1
else:
if nums[l] <= target and target < nums[mid]:
r = mid - 1
else:
l = mid + 1
return -1
class Solution(object):
def generateParenthesis(self, n):
"""
:type n: int
:rtype: List[str]
"""
res = []
def gene(left,right,tep):
if left == 0 and right == 0:
res.append(tep)
return
if left < 0 or right < 0 or left > right:
return
gene(left-1,right,tep+'(')
gene(left,right-1,tep+')')
gene(n,n,"")
return res