【ARTS】Week 1
Algorithm
Problem
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Solution
暂时没有想到其他更好的方法,最开始的做法虽然没问题,但并非当前解法下的最优解。
最先想到的是,new result[] 对象,然后找到两个对应的数组索引后,在赋值给result,问题就来了,两层for循环没有立刻终止,造成一部分时间浪费,后来加上break条件,还是不太满意,后来直接在满足条件后return。
leetcode网站列出的答案里
Approach 1: Brute Force
,在if条件里使用的是减法再判断相等,有一些不解之处:使用减法再判断相等和使用加法再判断相等使用到的CPU时钟周期是否一致呢?显然该解法时间复杂度是很高的,内外两层循环,O(n^2)
Review
文章出处《12 Things That Are Just Not Worth Your Time》
列举一下不值得浪费时间的12个点,以及我个人的一些想法
被冒犯 - 你不是人名币,永远做不到人人都喜欢。
认为你的idea是独一无二的 - 其实你的想法很普通,每天都是重复又重复。
让工作占据你大脑所有的时间 - 爱`生活`爱拉芳
可怕的社交媒体评论 - 不要跟`网络垃圾`较劲,沉默是金
永远不会被你打动的人 - 做一些让自己满意的小事情,而不是总是讨好别人。
企业名誉 - 不要只顾着往高处爬,你也可以停下脚步从头开始。
一辆你需要思前想后的豪华车 - 占据大脑太多时间,而无关紧要的东西就丢了TA
记恨 - 博爱,恨让人盲目
总是等待正确的时间 - 最好的开始时间是现在
怪罪于约会APP - 大致意思其实就是:出现问题在自己身上找原因。
政治辩论 - 不关你的事而且你也改变不了
没完没了的聚会 - 劳逸结合
值得你花时间的地方:
学习一项新技能
爱自己以外的某些事物(也许是小狗)
帮助你清晰思考的日常活动(沐浴,洗碗)
阅读小说释放压力
善待他人
断舍离
网络写作
去你周围的公园走走
适当的地方释放你的创造力
观看他人生活的纪录片,作为你未来的参考
Tip
这周主要在读《深入理解计算机系统(第三版)》这本书,这本书挺有魔力的,竟然不知不觉边看边练习看到了第100多页。如果现在的计算机专业学生是以这本书作为教材,我猜中国的计算机水平会上升一个层次。让我印象最深刻的是对`补码`的讲述,说实话,我看补码的资料看了很多,网络上关于原码补码反码的介绍也是看了不少,唯独这本书的讲解我算是彻底的记住了补码(也有可能是我太蠢)。
假如现在有一个4位补码,1010
,第一位为1代表负数,那它对应的十进制数是多少:
往某个负数的补码前添加N个1是不影响该数实际大小的,举个例子:11010
Share
由于本周暂时还没有阅读到比较令人印象深刻的技术文章,未免敷衍了解,我就不写在此处,如果未来几天内有读到高质量的文章,我会补回来。但是还是接上小节所说,非常推荐搞技术的人都去读一下《深入理解计算机系统》。
版权声明: 本文为 InfoQ 作者【Amos】的原创文章。
原文链接:【http://xie.infoq.cn/article/db2a8ecb8ff6157fee248bdb7】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论