面对秋招,我该告诉你关于Leetcode与Termux下使用Jupyter Notebook

举报
技术火炬手 发表于 2019/07/17 15:24:34 2019/07/17
【摘要】 “金九银十跳槽季”第一次听这句话还是从智联招聘的公众号上,以为是噱头结果才发现只有我不知道,汗啊….距离金九还有一个半月的时间,对于秋招你们准备好了吗?

秋招倒计时

“金九银十跳槽季”第一次听这句话还是从智联招聘的公众号上,以为是噱头结果才发现只有我不知道,汗啊….距离金九还有一个半月的时间,对于秋招你们准备好了吗?

首先,大家需要明确你想找什么方向的工作,目前与Python相关的职位有:自动化测试、Web开发(Django、Flask)、自动化运维、爬虫工程师、大数据数据分析师、AI人工智能方向 等等….

有了方向,下来我们就该准备自己的硬性技能了。推荐针对各职位将设计的知识点细化后,逐个查漏补缺的去学习…

LeetCode

说到面试,离不开LeetCode:https://leetcode-cn.com/,如果没有翻  墙的用户,推荐用力扣就好了。虽然这个中文站点名字翻译的不怎么优雅…但重在刷题,不要在意这些细节。

题型分类

image.png

LeetCode上主要是一些算法题和数据库的题目居多,shell和多线程的题基本可以无视…

每个类型的题目分为了简单、中等和困难三种难度,前期可以从简单的题开始刷,每天根据自己进度去学习,重要的不是刷多少题,而是做过的题你了解算法的本质。退一万步,实在不行一行一行背代码,临时抱佛脚嘛。

image.png

对于算法题,如果你有确定的练习范围,可以直接从网页右下方的标签分类中选择特定的算法题进行练习。

选题

我是一个脚踏实地的人(你们可以选择性忽略这句话),所以我从最简单的第一题开始刷,先把简单的都刷完了再去盘中等和困难的….

image.png

说实话,我特别讨厌做这种类型的题,做完了也没成就感…不如搞点好玩的东西来的有意思,但没办法面试笔试题中,肯定有算法题在内。

界面说明

选择号题目,进入后悔看到左侧的题目描述、评论、解题和提交记录几栏,然后你选择自己的编程语言,开始编程…

image.png

之所以大家喜欢在LeetCode上刷题一个是因为它涵盖了很多大厂面试题,另外一个就是它的在线提交与验证功能

image.png

默认测试用例是按照题目要求给出的,我们还可以自己去修改相关的用例进行执行…

解题

选择python3后,系统会默认创建类和方法,你只需要填写对应算法即可:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums)):
            sub = target - nums[i]
            if sub in nums[i+1:]:
                return i,nums.index(sub)

乍一看这个方法定义,有一点懵逼,正常不是这么玩的啊!先不管这个跑了咱们的代码再说:

image.png

image.png

还有一些其他的解题思路我就不在这里扩散了…但想说说leetcode上的python3代码格式!

Type Hints

其实这东西在Python3.5的PEP 484就已经提出来了,直意就是类型提示…

def twoSum(self, nums: List[int], target: int) -> List[int]:

如上例:后面是建议传入的参数类型, ->后面是建议函数返回的类型。

注意建议二字,意思就是我不这个干,系统也不会报错…

如果细心的同学应该注意到从3.5开始使用dir(fucntionName)的时候,多了一个__annotations__的属性(annotations:注解; 评注; 注文; 释文)。有什么作用呢?一起看下面的例子:

# Python 3.7.3
def hints(a:str,b:str) -> str:
    return a+b
hints(1,2)
# output: 3
dir(hints)
# output: ['__annotations__', '__call__', '__class__',  ... ]
hints.__annotations__
# output: {'a': <class 'str'>, 'b': <class 'str'>, 'return': <class 'str'>}

Type Hints 大概就这些了…

手机编程

最后来说说Termux的python开发问题,今天有朋友问到,Termux下写Python代码应该用什么编辑器呢?只用vim没有代码联想,写起来很麻烦…

你可以尝试使用Jupyter Notebook …

如果是按照我之前教程安装的Termux,那么直接pip install jupyter即可完成安装…

关于Termux权限设置

默认情况下Termux安装到手机后,是没有后台运行权限的,即如果你离开Termux桌面,那么将无法继续使用相关的web项目。你需要关闭手机启动管理的自动管理,然后添加上允许后台活动。

image.png

之后再输入jupyter notebook,即可达到后台运行的效果。

image.png

成功启动jupyter notebook后,会在命令行生成一个带token的url,复制它到你的手机浏览器上,现在在你的手机上好好练习代码吧…

image.png

看看刚才咱们做的练习,在jupyter notebook上运行是不是完美….

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。

对于Termux的安装不了解可以看下我公众号之前的文章,从此带你走上python超神路!

期待你关注我的公众号 清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。

image.pnganimal-world-4328243__480.jpg

-----------

作者:王翔|清风Python


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。