美文网首页
每周 ARTS 第 15 期

每周 ARTS 第 15 期

作者: 落英坠露 | 来源:发表于2019-07-14 20:04 被阅读0次

1. Algorithm

287. 寻找重复数(中等)

描述:

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。

示例:
输入: [1,3,4,2,2]
输出: 2
说明:
  • 不能更改原数组(假设数组是只读的)。
  • 只能使用额外的 O(1) 的空间。
  • 时间复杂度小于 O(n2) 。
  • 数组中只有一个重复的数字,但它可能不止重复出现一次。
思路:

数组元素在 [0, n] 之间,可以作为数组索引使用。先通过快慢指针找到相交点,然后两个指针分别从零位置和相交点一起向前遍历,直到找出相同的值。

class Solution {
    public int findDuplicate(int[] nums) {
        if (nums == null || nums.length == 0) {
            return -1;
        }

        int fast = nums[0];
        int slow = nums[0];
        do {
            slow = nums[slow];
            fast = nums[nums[fast]];
        } while (fast != slow);

        slow = nums[0];
        while (fast != slow) {
            slow = nums[slow];
            fast = nums[fast];
        }
        return fast;
    }
}
分析:
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

2. Review

Key habits and things I wish I knew earlier as a developer 作为开发者,我希望尽早知道的习惯和事情

作者总结了开发者应该尽早熟知的东西,比如习惯、技能、观念等。

  • 有效地使用搜索引擎
  • 使用现代化的 IDE 提高生产力
  • 学习 Linux
  • 学习 Git
  • 自我学习,跟随技术潮流
  • 至少精通一门编程语言
  • 聚焦简约
  • 加入团体或者论坛
  • 建立你的个人档案
  • 提问,提问,提问
  • 写代码前先在纸上比划
  • 遵守技术规范,先写测试用例
  • 在日常中解决难题和挑战
  • 开始白板编程
  • 高效地管理时间
  • 保护个人隐私
  • 跟随激励你的个人和组织
  • 参加技术活动
  • 拥抱错误消息
  • 选择正确类型的公司作为事业
  • 建立一套工作方案,不断迭代使其完美
  • 对自己 SEO

下面几点需要注意:

  • 不轻言放弃
  • 不拷贝工程代码
  • 不要推迟
  • 不要忽略其他学科
  • 不要沉迷社交网络
  • 不是失去希望

3. Tip

Homebrew 真是 Mac 上的神器,软件开发包都可以通过命令安装,自动配置环境变量,brew cask 还可以安装 GUI 应用程序。brew 在手,软件我有。

4. Share

公司 Q2 季度考核,根据实际情况,自评打了高分,我觉得是对的。caoz 有篇文章 你矜持,你活该讲过。

职场不要太矜持,合作沟通的时候姿态低一些,争取权益的时候胆子大一些。

创业不能太矜持, 宣传营销的时候,该吹牛的时候敢吹牛,不要怕丢脸。业务合作的时候,该低姿态的时候低姿态,不要老端着。

有些技术人才我知道的,在企业不是很顺心,有些权益期待但没有落实,又觉得老板一直对自己不错,总觉得不好意思提要求,其实该争取的要争取,人家稍微温情两句,自己就开始自责了,哪那么多戏。

你矜持,你端着,你失去好机会,你权益无保障,你自废武功,你男/女神被人追跑了,你活该。

相关文章

  • 每周 ARTS 第 15 期

    1. Algorithm 287. 寻找重复数(中等) 描述: 给定一个包含 n + 1 个整数的数组 nums,...

  • 每周 ARTS 第 19 期

    1. Algorithm 46. 全排列(中等) 描述: 给定一个没有重复数字的序列,返回其所有可能的全排列。 示...

  • 每周 ARTS 第 14 期

    1. Algorithm 78. 子集(中等) 描述: 给定一组不含重复元素的整数数组 nums,返回该数组所有可...

  • 每周 ARTS 第 17 期

    1. Algorithm 1114. 按序打印(简单) 描述: 三个不同的线程将会共用一个 Foo 实例,它们会被...

  • 每周 ARTS 第 21 期

    1. Algorithm 24. 两两交换链表中的节点(中等) 描述: 给定一个链表,两两交换其中相邻的节点,并返...

  • 每周 ARTS 第 20 期

    1. Algorithm 1116. 打印零与奇偶数(中等) 描述: 有这样一个类 ZeroEvenOdd,相同的...

  • 每周 ARTS 第 18 期

    1. Algorithm 110. 平衡二叉树(简单) 描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。本题...

  • 每周 ARTS 第 23 期

    1. Algorithm 62. 不同路径(中等) 描述: 一个机器人位于一个 m x n 网格的左上角 (起始点...

  • 每周 ARTS 第 24 期

    1. Algorithm 22. 生成括号(中等) 描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能...

  • 每周 ARTS 第 22 期

    1. Algorithm 15. 三数之和(中等) 描述: 给定一个包含 n 个整数的数组 nums,判断 num...

网友评论

      本文标题:每周 ARTS 第 15 期

      本文链接:https://www.haomeiwen.com/subject/txvikctx.html