1、n 从 1 开始,每个操作可以选择对 n 加 1,或者对 n 加倍。如果最后结果为 2013,最少 需要()个操作
2、给定一个字符串,返回其最长有效括号子串的长度
①有效的括号字符串是指只包含小括号,不包含其他字符,且满足括号语法规则的字符串。例如‘(())’是有效的,‘((a))’、‘(()’、‘{()}’是无效的
②有效括号子串是指输入字符串中满足有效括号字符串规则的子串。例如‘()(()()’的有效括号子串包括‘()’和‘()()’,其最长的有效括号子串长度即为4.
while 1:
try:
s = input()
j = len(s)
maxlen = 0
stack = []
for i in range(j):
if s[i]==')' and len(stack)!=0 and s[stack[-1]] == '(':
tmp=stack.pop()
if len(stack) == 0:
maxlen = i+1
else:
maxlen = max(maxlen,i-stack[-1])
else:
stack.append(i)
print(maxlen)
except Exception as e:
break
3、链表插入排序:
https://www.jianshu.com/p/8d93f4c86cfd
4、背包问题
5 二维有序矩阵找值
-*- coding:utf-8 -*-
'''
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
'''
def search(array, num):
# 参数合法性判断忽略
i = 0
j = len(array[0]) - 1
max_i = len(array) - 1
while i <= max_i and j >= 0:
if array[i][j] == num:
return True
elif array[i][j] > num:
j = j - 1
else:
i = i + 1
return False
if __name__ == '__main__':
a = [[1, 2, 8, 9],
[2, 4, 9, 12],
[4, 7, 10, 13],
[6, 8, 11, 15],
]
print search(a, 14)
print search(a, 7)
print search(a, 0)