Leetcode 刷题必须Review 六 Lintcode(283 484 455 116 385)
作者:互联网
文章目录
283 · 三数之中的最大值
给三个整数,求他们中的最大值。
def maxOfThreeNumbers(self, num1, num2, num3):
# write your code here
max_val = float('-inf')
if num1 > num2:
max_val = num1
else:
max_val = num2
return max_val if max_val > num3 else num3
484 · 交换数组两个元素
给你一个数组和两个索引,交换下标为这两个索引的数字
def swapIntegers(self, A, index1, index2):
# write your code here
A[index1], A[index2] = A[index2], A[index1]
455 · 学号
实现一个名为Class的类,包含如下的一些属性和方法:
一个public的students属性,是一个Student类的数组。
一个构造函数,接受一个参数n,代表班级里有n个学生。构造函数需要创建n个学生的实例对象并放在students这个成员中,每个学生按照创建的顺序,学号需要依次标记为0, 1, 2 … n-1。
一开始没理解题,回看了之前写的。
def __init__(self, n):
self.students = []
for i in range(n):
self.students.append(Student(i))
116 · 跳跃游戏
给出一个非负整数数组,你最初定位在数组的第一个位置。
数组中的每个元素代表你在那个位置可以跳跃的最大长度。
判断你是否能到达数组的最后一个位置。
我用的应该是贪心吧,不确定是贪心还是动态规划
def canJump(self, A):
# write your code here
for i in range(len(A) - 1, 0, -1):
for j in range(i - 1, -1, -1):
if j + A[j] >= i:
break
else:
return False
return True
下面是老师上课解法,我完全不记得。
动态规划1
动态规划2
贪心法
385 · 动态数组
class ArrayListManager:
'''
* @param n: You should generate an array list of n elements.
* @return: The array list your just created.
'''
def create(self, n):
# Write your code here
if n >= 0:
self.arr = list(range(n))
return self.arr
'''
* @param list: The list you need to clone
* @return: A deep copyed array list from the given list
'''
def clone(self, list):
# Write your code here
return list[:]
'''
* @param list: The array list to find the kth element
* @param k: Find the kth element
* @return: The kth element
'''
def get(self, list, k):
# Write your code here
return list[k]
'''
* @param list: The array list
* @param k: Find the kth element, set it to val
* @param val: Find the kth element, set it to val
'''
def set(self, list, k, val):
# write your code here
list[k] = val
'''
* @param list: The array list to remove the kth element
* @param k: Remove the kth element
'''
def remove(self, list, k):
# write tour code here
list.remove(k)
'''
* @param list: The array list.
* @param val: Get the index of the first element that equals to val
* @return: Return the index of that element
'''
def indexOf(self, list, val):
# Write your code here
for i in range(len(list)):
if list[i] == val:
return i
else:
return -1
标签:return,val,Lintcode,Review,list,455,param,self,def 来源: https://blog.csdn.net/weixin_43716712/article/details/123049296