Python语言之详解力扣题目汇总
从安 2019-06-11 来源 : 阅读 2215 评论 0

摘要:本篇文章主要讲述Python语言之详解力扣题目汇总,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章主要讲述Python语言之详解力扣题目汇总,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

Python语言之详解力扣题目汇总

最长连续递增序列

1.题目描述

1. 给定一个未经排序的整数数组,找到最长且连续的的递增序列。

 

示例 1:

输入: [1,3,5,4,7]

输出: 3

解释: 最长连续递增序列是 [1,3,5], 长度为3。

尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。

 

示例 2:

输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。

 

注意:数组长度不会超过10000。

 

2.解题思路

如果后者大于前者长度加1,后者小于前者长度变回1,然后重新开始循环如果后者大于前者加1

3.解题

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        new_nums = nums[1:]
        count = 1
        len_list = []
        if len(nums)==0:
            return 0
        else:
            for a in range(len(new_nums)):
                if new_nums[a] > nums[a]:
                    count += 1
                else:
                    len_list.append(count)
                    count = 1
            len_list.append(count)                
            return max(len_list)

     

旋转图像(中等)

1.题目描述

给定一个 n × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

示例 1:

给定 matrix =

[

  [1,2,3],

  [4,5,6],

  [7,8,9]

],

 

原地旋转输入矩阵,使其变为:

[

  [7,4,1],

  [8,5,2],

  [9,6,3]

]

示例 2:

给定 matrix =

[

  [ 5, 1, 9,11],

  [ 2, 4, 8,10],

  [13, 3, 6, 7],

  [15,14,12,16]

],

 

原地旋转输入矩阵,使其变为:

[

  [15,13, 2, 5],

  [14, 3, 4, 1],

  [12, 6, 8, 9],

  [16, 7,10,11]

]

2.解题思路

难点:原表格修改,用太多for循环会超时

先水平翻转,再按照子列表的长度,把他变成有拥有子列表长度一样的空的列表,再里面填写值进去

3.解题

class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        import copy
        new_list = []
        time = 0
        conter = 0
        matrix.reverse()
        matrix_1 = copy.copy(matrix)
        print(matrix)
        if len(matrix) != 0:              #删除值并且把值全变成空的列表
            for a in range(len(matrix)):
                matrix[a] = []
            while len(matrix) > len(matrix_1[0]):
                matrix.pop()
            while len (matrix) < len(matrix_1[0]):
                matrix.append([])
            for b in range(len(matrix_1[0])):  #填值
                for c in range(len(matrix_1)):
                    if time != len(matrix_1):
                        time += 1
                        matrix[conter].append(matrix_1[c][b])  
                    elif time == len(matrix_1):
                        time = 1
                        conter += 1
                        matrix[conter].append(matrix_1[c][b])

宝石与石头

  1. 题目描述

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

 

J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

 

示例 1:

输入: J = "aA", S = "aAAbbbb"

输出: 3

 

示例 2:

输入: J = "z", S = "ZZ"

输出: 0

 

注意:

S 和 J 最多含有50个字母。

J 中的字符不重复。

2.解题思路

去除J里面的值,然后再S中查找值的个数用COUNT,求和

3.解题

class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        num = 0
        for i in J:
            num_1 = S.count(i)
            num += num_1
        return num

 

本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @从安 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程