_2_ 发表于 2020-4-29 08:54:39

20.旋转数组

本帖最后由 _2_ 于 2020-4-30 15:21 编辑

class Solution:
    def rotate(self, nums: List, k: int) -> None:
      """
      Do not return anything, modify nums in-place instead.
      189.旋转数组
      https://leetcode-cn.com/problems/rotate-array/
      """
      if k == 0:
            return nums
      else:
            while k:
                nums.insert(0, nums.pop())
                k -= 1

_2_ 发表于 2020-4-30 15:20:37

自占沙发

_2_ 发表于 2020-4-30 17:07:20

感觉用 Python 做 LeetCode 的题都极其简单
@糖逗

糖逗 发表于 2020-4-30 17:16:43

C++
class Solution {
public:
    void rotate(vector<int>& nums, int k) {
      deque<int> temp;
      for(auto cha : nums){
            temp.push_back(cha);
      }
      while(k != 0){
            int a = temp.back();
            temp.pop_back();
            temp.push_front(a);
            k--;
      }
      int i = 0;
      while(!temp.empty()){
            int b = temp.front();
            temp.pop_front();
            nums = b;
            i++;
      }
    }
};

糖逗 发表于 2020-4-30 17:25:43

_2_ 发表于 2020-4-30 17:07
感觉用 Python 做 LeetCode 的题都极其简单
@糖逗

Python有很多现成且功能强大的库,而且区别于其他语言它的语言风格会更简化。但通常而言,C系列语言会比Python语言执行速度快,因为不需要中间“翻译”给电脑执行指令。JAVA我不太清楚,不过大部分底层语言是用JAVA和C系列语言编写的。最近,go语言也很流行,未来可能有很大应用场景。不过总体来说,学哪个语言并不重要,重要的是编程思想和熟练程度。如果能把一种语言学得特别熟,其他语言只是语法有个别差异,但思想是互通的。

_2_ 发表于 2020-4-30 20:25:18

糖逗 发表于 2020-4-30 17:25
Python有很多现成且功能强大的库,而且区别于其他语言它的语言风格会更简化。但通常而言,C系列语言会比P ...

嗯,我当初选择先学习 Python 也是因为这个优点
但随着学习的深入,还是有一些问题显现出来,就是:
** 的真慢{:10_269:}{:10_269:}{:10_269:}

zltzlt 发表于 2020-4-30 20:30:05

list.insert() 效率可不是一般的低

_2_ 发表于 2020-4-30 20:31:01

zltzlt 发表于 2020-4-30 20:30
list.insert() 效率可不是一般的低

……{:10_269:}也没什么
测试的时候也发现了,想自己重写一个

_2_ 发表于 2020-4-30 20:35:01

糖逗 发表于 2020-4-30 17:16
C++

在 Python 里我已经很少能看到 4ms 了{:10_269:}

糖逗 发表于 2020-4-30 20:36:50

_2_ 发表于 2020-4-30 20:35
在 Python 里我已经很少能看到 4ms 了

整体而言,C系列语言就是比Python要快{:10_284:}

_2_ 发表于 2020-4-30 20:37:57

糖逗 发表于 2020-4-30 20:36
整体而言,C系列语言就是比Python要快

{:10_269:}
忍不住“吐槽”一句:Python 的 numpy 也是真的香

糖逗 发表于 2020-4-30 20:38:32

_2_ 发表于 2020-4-30 20:35
在 Python 里我已经很少能看到 4ms 了

但C系列语言和Java一样有一个缺点,就是写得太长,定义太多{:10_291:}

xiangjianshinan 发表于 2020-4-30 20:38:46

糖逗 发表于 2020-4-30 17:25
Python有很多现成且功能强大的库,而且区别于其他语言它的语言风格会更简化。但通常而言,C系列语言会比P ...

学习啦。支持大佬的观点!!!

三心两意学习终将一事无成。

糖逗 发表于 2020-4-30 20:41:31

_2_ 发表于 2020-4-30 20:37
忍不住“吐槽”一句:Python 的 numpy 也是真的香

C系列语言中的STL也挺香

_2_ 发表于 2020-5-1 09:08:00

xiangjianshinan 发表于 2020-4-30 20:38
学习啦。支持大佬的观点!!!

三心两意学习终将一事无成。

想刷题可以去代码里的链接练练手啊{:10_256:}
页: [1]
查看完整版本: 20.旋转数组