自我监督刷题记录处7
Finally,第7天,一周啦!值得鼓励,,,努力,目标暂时定到两周吧,到了再续吧。。再续。。。。。每天一题活动准备正式参加,看日历上的红叉叉太难受了。。
Leetcode每日一题(面试题10.01)合并排序的数组
(Easy Level)
class Solution:
def merge(self, A: List[int], m: int, B: List[int], n: int) -> None:
"""
Do not return anything, modify A in-place instead.
"""
#1.直接排序,暴力可爱
A[m:] = B
A.sort()
#2.双指针后插
i = m -1
j = n -1
l = m + n -1
while i >= 0 and j >= 0:
if A[i] < B[j]:
A[l] = B[j]
j -=1
else:
A[l] = A[i]
i -=1
l-=1
while j > 0:
A[l] = B[j]
j-=1
l-=1
第一种方法直接切片插入,再利用sort直接快排。第二种就从最后遍历,然后大的后移,小的插入。第一次做的时候还开辟了新空间双指针添加,后插的话就不用开空间了。
Leetcode 278 First Bad Version
(Easy Level)
稀少人做的简单题。( ̄▽ ̄)"
# The isBadVersion API is already defined for you.
# @param version, an integer
# @return a bool
# def isBadVersion(version):
class Solution:
def firstBadVersion(self, n):
l,r = 1,n
while r - l > 1:
#二分取中,True则是右边数字没问题,False则左边有问题
if isBadVersion((r - l)//2):
r = (r - l)//2
else:
l = (r - l)//2 +1
if isBadVersion(l):
return l
else:
return r
一般说最少次查找都是用二分查找,但不知道为什么提交一直超时=.=。不难想的一道题但我提交不了,不开心T——T。。。不!开!心!…难道…是我网不好吗。。。
Leetcode 278 First Bad Version
(Easy Level)
一直很怕DP,要不要试着写一个。。直面短板!。。。。
我好像短板有点多(⊙﹏⊙)
class Solution:
def climbStairs(self, n: int) -> int:
if n == 1:
return 1
if n == 2:
return 2
#以三为例往后退一个台阶剩两个台阶,退两个剩一个
one_before = 2
two_before = 1
for i in range(2,n):
two_before, one_before = one_before, one_before + two_before
return one_before
recursion有时候让人很舒服,有时候很难受。
whatever finish today
近几日十分疲惫,天天熬夜。截至3月3日起了5个痘痘。。数目增长犹如xx。。望早日消掉
(╯▔皿▔)╯…还有有头发遮一下,待我头发掉光的时候。。(⊙﹏⊙)细思极恐