zoukankan      html  css  js  c++  java
  • ARTS-02 20200622~20200628

    Alg

    一个数论题

    我的做法是 预处理一下,获得一个包含了最多 n 个天数的有序数列,预处理 O(n^2) ; 然后对预处理得到的序列,每个天数依次校验天数对应的情况是否能满足需求, 也是 O(n^2) ,所以时间复杂度是 O(n^2) . 空间复杂度是 O(n)

    但是 超时啦~

    Rev

    kotlin's hidden costs

    讲到了一些 kotlin 相比 java 的性能损失,写 kotlin 的时候需要注意的一些点。我看了以后列举一下我觉得有道理的 :

    • kotlin 的 * 运算符. 例如 fun f(vararg a : Int){} f(*arr) 因为这个的 JVM 字节码会先 system.arrayCopy 一个新的 array 再传入 f, 需要视实际情况使用。
    • kotlin 的 range 运算符相关的问题, 也就是 0 .. 10 这个语法, 这里不要使用 (0..10).foreach {} 的写法, 因为这种写法的字节码是使用 Iterator 遍历的。而 for(i in 0..10) 就是正常的 判断-跳转

    Tip

    AndroidStudio 或者别的 IDEA 族的 IDE, 都可以使用 IdeaVim 插件来给 Editor 增加一个 vim 模式, 这就使得查看代码变得很舒服(因为可以使用 Ctrl-B Ctrl-W HJKL 而不需要必须使用 上下左右 来操作光标了(而实际看代码的时候手移动到 上下左右区域是很麻烦),再配合 IDEA 默认的一些快捷键, 例如 查看父类(Cmd-U)/查看实现(Shift-Cmd-B)/ 查看引用定义(Cmd-B)... 用熟了以后可以使得基于 IDEA 的代码查看变得十分轻松惬意。

    Share

    偷个懒,直接放链接了, Android 端接入代码检测
    代码检测在我看来真的很有必要, 它不是一个限制,是一个辅助工具,会告诉你 ”这个地方你做的可能还不太对,是不是考虑考虑再改一下?“ , 这在我看来很有帮助。

  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    Redis的那些最常见面试问题
    线程池全面解析
    对线程调度中Thread.sleep(0)的深入理解
    集群环境下Redis分布式锁
    3.8
    3.7
    3.6任务
    3.5任务
    3.4
  • 原文地址:https://www.cnblogs.com/wkmcyz/p/13199634.html
Copyright © 2011-2022 走看看