前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARTS打卡(第一周)

ARTS打卡(第一周)

作者头像
zx钟
发布2019-07-19 14:27:20
4870
发布2019-07-19 14:27:20
举报
文章被收录于专栏:测试游记测试游记测试游记

Algorithm主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell。 Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是http://Medium.com 以及各个公司的技术blog,如Netflix的。 Tip:主要是为了总结和归纳你在是常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识。 Share:主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章。

Algorithm

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        new_nums = [target - i for i in nums]
        for i,num in enumerate(new_nums):
            for j,_num in enumerate(nums):
                if num == _num and i != j:
                    return [i,j]

结果

逻辑上没有问题,但是看样子运算时间太长了。

第一题就翻车了,只能先看答案学习了,之后要加强算法相关知识的学习了。

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        hashmap = {}
        for index,num in enumerate(nums):
            another_num = target - num
            if another_num in hashmap:
                return [hashmap[another_num],index]
            hashmap[num] = index

发现这个答案执行简单的时间要84ms反而比我那个长,但是数量多起来,反而变得很快了。

参考答案

列表操作时间复杂度

列表操作时间复杂度

字典操作时间复杂度

字典操作时间复杂度

似乎在《流畅的Python》中看到字典的读取复杂度远比列表的低,所以可能正是由于这个原因,所以可以更快的计算出来吧。看来以后对性能要求高的时候要多用字典少用列表了。

Review

初学者的Docker介绍

A Beginner-Friendly Introduction to Containers, VMs and Docker

VM

containers

The one big difference between containers and VMs is that containers share the host system’s kernel with other containers.

Docker is an open-source project based on Linux containers. It uses Linux Kernel features like namespaces and control groups to create containers on top of an operating system.

Docker发展迅速的原因:

  • Ease of use
  • build once, run anywhere.
  • Speed
  • Docker Hub
  • app store for Docker images.
  • Modularity and Scalability
  • link containers together to create your application

Base

Docker基础

  • Docker Engine
  • Docker Client
  • Docker Daemon
  • Dockerfile
  • RUN apt-get y install some-package: to install a software package
  • EXPOSE 8000: to expose a port
  • ENV ANT_HOME /usr/local/apache-ant to pass an environment variable
  • Docker Image
  • #### Union File Systems

运行起来的镜像=容器

看完一篇英文文档真的是很痛苦。而且由于一直在翻译,所以感觉看一点忘了一点。

Tip

最近搭建了Gitlab服务器进行代码管理。

由于设备是Windows7,一开始使用的是Docker搭建的,但是Win7的Docker安装在一个虚拟机里面,发现每次一重启电脑,Docker中的gitlab中的数据就丢失了!虽然可以正常启动起来,但是数据丢失了,想使用-v进行数据持久化也没有用。所以最终的解决办法就是搭了一个虚拟机,在虚拟机上逐步的安装了一个Gitlab服务器。

Share

引入Gitlab,希望通过Code Review,团队一起提升代码质量。

使用Gitlab进行代码管理(Merge requests)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Algorithm
    • 列表操作时间复杂度
      • 字典操作时间复杂度
      • Review
        • Docker基础
        • Tip
        • Share
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档