1089. 复写零
简单
给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。
注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。
示例 1:
输入:arr = [1,0,2,3,0,4,5,0]
输出:[1,0,0,2,3,0,0,4]
解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]
示例 2:
输入:arr = [1,2,3]
输出:[1,2,3]
解释:调用函数后,输入的数组将被修改为:[1,2,3]
class S1089:
def func(self, arr):
i = 0
j = len(arr)
while i < j:
if arr[i] == 0:
arr.insert(i, 0)
arr.pop()
i += 2
else:
i += 1
r = S1089()
arr = [1, 0, 2, 3, 0, 4, 5, 0]
print(r.func(arr))
20. 有效的括号
简单
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
示例 1:
输入:s = “()”
输出:true
示例 2:
输入:s = “()[]{}”
输出:true
示例 3:
输入:s = “(]”
输出:false
class S20:
def func(self, s):
if len(s) % 2 == 1:
return False
dic = {
")": "(",
"]": "[",
"}": "{"
}
stack = []
for i in s:
if i not in dic:
stack.append(i)
elif not stack or dic[i] != stack.pop():
return False
return len(stack) == 0
r = S20()
s = '()'
s = '()[]{}'
s = '(}'
print(r.func(s))
231. 2 的幂
简单
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。
示例 1:
输入:n = 1
输出:true
解释:20 = 1
示例 2:
输入:n = 16
输出:true
解释:24 = 16
示例 3:
输入:n = 3
输出:false
class S2:
def func(self,n):
if n<=0:
return False
elif n==1:
return True
elif n==2:
return True
elif n==3:
return False
else:
if n%2==0:
return self.func(n//2)
else:
return False
r=S2()
n=5
print(r.func(n))
326. 3 的幂
简单
给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x
示例 1:
输入:n = 27
输出:true
示例 2:
输入:n = 0
输出:false
示例 3:
输入:n = 9
输出:true
示例 4:
输入:n = 45
输出:false
class S3:
def func(self,n):
if n<1:
return False
elif n==1:
return True
elif n==2:
return False
elif n%3!=0:
return False
else:
return self.func(n/3)
r=S3()
n=9
print(r.func(n))
342. 4的幂
简单
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x
示例 1:
输入:n = 16
输出:true
示例 2:
输入:n = 5
输出:false
示例 3:
输入:n = 1
输出:true
class S4:
def func(self,n):
if n<1:
return False
elif n==1:
return True
elif n%4!=0:
return False
else:
return self.func(n/4)
r=S4()
n=5
print(r.func(n))