写点什么

【ARTS】Week 1

用户头像
Amos
关注
发布于: 2020 年 05 月 24 日
【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:



Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].



Solution

class Solution {
public int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length - 1; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] == target) {
return new int[] { i, j };
}
}
}
throw new IllegalArgumentException();
}
}



暂时没有想到其他更好的方法,最开始的做法虽然没问题,但并非当前解法下的最优解。

  1. 最先想到的是,new result[] 对象,然后找到两个对应的数组索引后,在赋值给result,问题就来了,两层for循环没有立刻终止,造成一部分时间浪费,后来加上break条件,还是不太满意,后来直接在满足条件后return。

  2. leetcode网站列出的答案里Approach 1: Brute Force,在if条件里使用的是减法再判断相等,有一些不解之处:使用减法再判断相等和使用加法再判断相等使用到的CPU时钟周期是否一致呢?

  3. 显然该解法时间复杂度是很高的,内外两层循环,O(n^2)

Review

文章出处《12 Things That Are Just Not Worth Your Time

列举一下不值得浪费时间的12个点,以及我个人的一些想法

  1. 被冒犯 - 你不是人名币,永远做不到人人都喜欢。

  2. 认为你的idea是独一无二的 - 其实你的想法很普通,每天都是重复又重复。

  3. 让工作占据你大脑所有的时间 - 爱`生活`爱拉芳

  4. 可怕的社交媒体评论 - 不要跟`网络垃圾`较劲,沉默是金

  5. 永远不会被你打动的人 - 做一些让自己满意的小事情,而不是总是讨好别人。

  6. 企业名誉 - 不要只顾着往高处爬,你也可以停下脚步从头开始。

  7. 一辆你需要思前想后的豪华车 - 占据大脑太多时间,而无关紧要的东西就丢了TA

  8. 记恨 - 博爱,恨让人盲目

  9. 总是等待正确的时间 - 最好的开始时间是现在

  10. 怪罪于约会APP - 大致意思其实就是:出现问题在自己身上找原因。

  11. 政治辩论 - 不关你的事而且你也改变不了

  12. 没完没了的聚会 - 劳逸结合



值得你花时间的地方:



  • 学习一项新技能

  • 爱自己以外的某些事物(也许是小狗)

  • 帮助你清晰思考的日常活动(沐浴,洗碗)

  • 阅读小说释放压力

  • 善待他人

  • 断舍离

  • 网络写作

  • 去你周围的公园走走

  • 适当的地方释放你的创造力

  • 观看他人生活的纪录片,作为你未来的参考



Tip

这周主要在读《深入理解计算机系统(第三版)》这本书,这本书挺有魔力的,竟然不知不觉边看边练习看到了第100多页。如果现在的计算机专业学生是以这本书作为教材,我猜中国的计算机水平会上升一个层次。让我印象最深刻的是对`补码`的讲述,说实话,我看补码的资料看了很多,网络上关于原码补码反码的介绍也是看了不少,唯独这本书的讲解我算是彻底的记住了补码(也有可能是我太蠢)。



假如现在有一个4位补码,1010,第一位为1代表负数,那它对应的十进制数是多少:



往某个负数的补码前添加N个1是不影响该数实际大小的,举个例子:11010



Share

由于本周暂时还没有阅读到比较令人印象深刻的技术文章,未免敷衍了解,我就不写在此处,如果未来几天内有读到高质量的文章,我会补回来。但是还是接上小节所说,非常推荐搞技术的人都去读一下《深入理解计算机系统》。



发布于: 2020 年 05 月 24 日阅读数: 83
用户头像

Amos

关注

眼睛是黑色心脏是红色眼睛是红色心脏是黑色 2018.04.30 加入

还未添加个人简介

评论

发布
暂无评论
【ARTS】Week 1