您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页leetcode学到的东西

leetcode学到的东西

来源:二三娱乐
  1. python的三目表达式
    python中是没有类似于PHP或者C++那些的三目表达式的,一开始我是比较纳闷的,因为python这样的语言,要是连这种语法结构都没有就太奇怪了。于是后来找到了类似的东西。
//这是php的写法,基本相同与其他语言
function fun()
{
    return 1==2?1:2;
}
def fun():
      return 1 if 1==2 else 2
  1. python的for循环
    我在写leetcode的时候是经常使用到for循环的,因为经常有变量需要遍历,python的for循环不同与其他语言,但是我觉得使用起来其实还是蛮方便的
#这里假设有一个叫做data的list变量
for x in data:

这样的写法是直接遍历数组变量了,遍历不了下标,有时候很需要使用下标,就要使用另外一种方法

for x in range(len(data)):
for x in xrange(len(data)):

这两种方法是数组遍历下标的方法,但是有区别,range和xrange的速度上是不一样的,详细可以百度一下。
有时候会遇到一种情况,需要从数组的最后一个数往前遍历,以往PHP或者java那些的做法是for循环下标往前遍历,python也能那么写,但是有些地方需要注意。

for x in xrange(len(data)-1,-1,-1):

往前循环的时候,下标是从你传入参数的第一个数开始循环的,而不是和往后循环的时候一样的。比如:xrange(9) 循环的结果是0--8,xrange(9,-1,-1)循环的结果是9--0。之前好多次写算法的时候没注意,导致数组越界。

  1. python的sort函数
    在C++中,sort函数是algorithm库中的一个函数,最实用的功能就是可以根据类的某项属性排序类,在vector这些地方非常实用,大一暑假项目实训的时候,写高考预录取信息系统,为了排序考生的成绩,C++的sort就帮了不少忙。
    python的sort也很好用,但是主要那时候我还不够熟悉。
sort(key=lambda x:x.start)
  1. sort 和 sorted
    具体可以百度,这里只讲一点,就是sorted会返回一个结果,sort会改变结构。

  2. python的速度
    其实python的速度相对是可以了,我在完成一道题的时候,使用了三种语言对比(C++,JAVA,PYTHON),python的速度比较中肯。

class Solution {
public:
    int climbStairs(int n) 
    {
        if (n == 1 || n == 2)
            return n == 1 ? 1 : 2;
        return climbStairs(n - 1) + climbStairs(n - 2);
    }
};

超时了,无解。
但是使用迭代,速度是2MS。

  1. 还有的想不起来了,没有及时总结,过年太颓废了,一行代码都没有写。leetcode的easy还有几道题,希望戒掉拖延症,这个学期内,利用琐碎的时间完成leetcode所有题目。有梦想的人不睡觉。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务