2018-10-16-weekly

Algorithm

判断子序列

  • What 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。如,"ace"是"abcde"的一个子序列,而"aec"不是)。

  • How 可以用贪心算法,遍历母串t,时间复杂度是O(N)。定义两个串的索引,如果发现t的索引和子串s的索引值相等,移动子串s的索引,继续比对下一个目标索引值。

  • Key Codes

class Solution {
    public boolean isSubsequence(String s, String t) {
        int first=0;
        int sec=0;
        while(first<s.length() && sec<t.length()){
            if(s.charAt(first)== t.charAt(sec)){
                first++;
            }
            sec++;
        }
        if(first==s.length()) return true;
        else return false;
    }
}

Review

how-to-do-what-you-love-the-right-way

  • What 如何用正确的方式做你喜欢的事

  • How

  • 弄清楚我们想要花费时间和注意力的是什么,然后在我们的工艺上努力使我们的平台成为可能
  • 建立自己的平台,并一步一步地制定自己的工作。

Tip

  • What 注册注解处理器:怎样将处理器MyProcessor注册到javac中

  • How

  • 必须提供一个.jar文件。就像其他.jar文件一样,你打包你的注解处理器到此文件中。
  • 并且,在你的jar中,你需要打包一个特定的文件javax.annotation.processing.Processor到META-INF/services路径下。
  • 打包进MyProcessor.jar中的javax.annotation.processing.Processor的内容是,注解处理器的合法的全名列表,每一个元素换行分割
    com.example.MyProcessor  
    com.foo.OtherProcessor  
    net.blabla.SpecialProcessor
  • 把MyProcessor.jar放到你的builpath中,javac会自动检查和读取javax.annotation.processing.Processor中的内容,并且注册MyProcessor作为注解处理器。

Share

我们为什么要工作?为什么不是享受生活?

posted @ 2018-10-22 10:01  蓝幸运  阅读(118)  评论(0编辑  收藏  举报