ARTS打卡(第一周)

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]
640?wx_fmt=jpeg
结果

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

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

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反而比我那个长,但是数量多起来,反而变得很快了。

640?wx_fmt=jpeg
参考答案

列表操作时间复杂度

640?wx_fmt=jpeg
列表操作时间复杂度

字典操作时间复杂度

640?wx_fmt=jpeg
字典操作时间复杂度

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

Review

640?wx_fmt=jpeg
初学者的Docker介绍

A Beginner-Friendly Introduction to Containers, VMs and Docker

640?wx_fmt=jpeg
VM
640?wx_fmt=jpeg
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

640?wx_fmt=jpeg
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

640?wx_fmt=jpeg
运行起来的镜像=容器

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

Tip

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

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

Share

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值