ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Leetcode 刷题必须Review 六 Lintcode(283 484 455 116 385)

2022-02-21 17:03:21  阅读:243  来源: 互联网

标签:return val Lintcode Review list 455 param self def


文章目录

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有