arts-2019-04-14

Algorithm 算法题

每周至少做一个leetcode 的算法题

https://leetcode-cn.com/problems/search-a-2d-matrix-ii/
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。

思路:

  • 用一个栈存储要访问的节点路径
  • 当前节点右节点的值,如果超过边界,不处理;如果等于目标值,返回;如果小于目标值,添加到路径;
  • 下节点一样。

运行结果超时

题意没有理解错,错的是这样执行下来需要做的判断太多。

然后一看别人的做法,原来是选择了右上角或者左下角的特殊值。

以右上角为例,每次比较当前值与目标值,小于目标值则向左,大于目标值则向下,用边界值控制循环即可。

Review 外国文章

阅读并点评至少一篇英文技术文章

https://code.visualstudio.com/docs/python/environments

学习配置了 vscode 的 Python 环境,原来:

  • .vscode/settings.py,为工作区设置,优先级最高。
  • python.pythonPath,指定对应 Python 解释器位置。
  • 使用 python2 -m virtualenv env 生成 virtualenv 目录,可以自动被识别。
  • 被自动识别是指“Python: select Interpreter”时可以看到在备选项中。

本地项目一开始没被识别是因为文件出现了错误。

Technique 技巧总结

学习至少一个技术技巧

如何在 Django 项目事务提交以后做点事情呢?

阅读源码和文档后发现,有这样一个方法:transaction.on_commit,允许添加事务执行后的钩子。

Share 思考分享

至少分享一篇有观点和思考的技术文章

https://mp.weixin.qq.com/s/TUq-akXS6A0zBGRliroOLg
1995年的乔布斯:遗失的访谈(Steve Jobs: The Lost Interview)

故事发生在乔布斯回归苹果的前一年,我们可以看到乔是如何看待各个公司的关系,以及发生在自己身上的那段历史的。

我看到了一种实事求是。最近某老板美化 996 闹得挺火的,可背后却是一种不切实际。

2019-04-14 22:23 10
Comments
Write a Comment