ARTS是什么? Algorithm:每周至少做一个LeetCode的算法题 Review:阅读并点评至少一篇英文技术文章 Tip:学习至少一个技术技巧,总结和归纳日常工作中遇到的知识点 Share:分享一篇有观点和思考的技术文章

Algorithm

完成leetcode算法第14题。

使用最简单的暴力匹配完成,但是发现在minLength的处理上可以用官方题解的二分法去优化,下次可以注意。

  1. /**
  2. * 编写一个函数来查找字符串数组中的最长公共前缀。
  3. * 如果不存在公共前缀,返回空字符串 ""。
  4. *
  5. * 示例 1:
  6. * 输入:strs = ["flower","flow","flight"]
  7. * 输出:"fl"
  8. * 示例 2:
  9. * 输入:strs = ["dog","racecar","car"]
  10. * 输出:""
  11. * 解释:输入不存在公共前缀。
  12. *
  13. * 提示:
  14. * 1 <= strs.length <= 200
  15. * 0 <= strs[i].length <= 200
  16. * strs[i] 仅由小写英文字母组成
  17. *
  18. * @author ohYoung
  19. * @date 2021/9/24 22:25
  20. */
  21. public class LongestCommonPrefix14 {
  22. public static void main(String[] args) {
  23. LongestCommonPrefix14 example = new LongestCommonPrefix14();
  24. String[] strs = new String[]{"flower","flow","flight"};
  25. System.out.println(example.longestCommonPrefix(strs));
  26. strs = new String[]{"dog","racecar","car"};
  27. System.out.println(example.longestCommonPrefix(strs));
  28. }
  29. public String longestCommonPrefix(String[] strs) {
  30. int minLength = Arrays.stream(strs).min(Comparator.comparing(String::length)).get().length();
  31. if (minLength == 0) {
  32. return "";
  33. }
  34. while (minLength > 0) {
  35. String target = strs[0].substring(0, minLength);
  36. boolean match = true;
  37. for (int i = 1; i < strs.length; i++) {
  38. if (!target.equals(strs[i].substring(0, minLength))) {
  39. match = false;
  40. break;
  41. }
  42. }
  43. if (match) {
  44. return target;
  45. }
  46. minLength--;
  47. }
  48. return "";
  49. }
  50. }

Review

What’s new in Java 17
Java 17 是标准 Java 的新长期支持 (LTS) 版本,现已可供生产使用。我们从这篇文章可以看到Java17的新特性。

Tip

  • 学习一门新技术需要先鸟瞰全貌,然后逐个攻破各个技术细节,切不可一开始就陷入细节
  • 一条SQL语句的执行需要经过几个步骤:连接器的权限认证、查询是否命中缓存(MySQL8.0开始该功能被删除)、分析器的词法分析以及语法分析、优化器的语句优化,最后是执行器调用表对应的存储引擎的接口执行操作
  • 值得注意的是,当一个用户连接成功时,这个连接的权限就是连接成功时的权限,即使他的权限被修改,也不会影响到已存在的连接

    Share

    程序员如何把控自己的职业
    耗子叔给我们讲了这二十年他经历的技术变革,同时也给年轻人提出了一些建议,使我受益匪浅。

    Finish

    预计完成时间:2021.09.13 ~ 2021.09.19
    实际完成时间:2021.09.19[

](https://www.yuque.com/yigenranshaodexiongmao/fgx0oh/zp62pn)