ARTS综合 程序上线【起飞检查清单】-让事故和教训转变为实用的清单

ARTS    Algorithm、Review、Tip、Share

(1)每周至少做一个 leetcode 的算法题
(2)阅读并点评至少一篇英文技术文章
(3)学习至少一个技术技巧
(4)分享一篇有观点和思考的技术文章
 
----------
第一周(20190318-20190322)
Algorithm(算法题)
 

   给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

  J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a""A"是不同类型的石头。

  示例 1:

  输入: J = "aA", S = "aAAbbbb"
  输出: 3

  示例 2:

  输入: J = "z", S = "ZZ"
  输出: 0

  注意:  

   S 和 J 最多含有50个字母。
   J 中的字符不重复。 

class Solution {
    public int numJewelsInStones(String J, String S) {
        int count = 0;//宝石计数器
        for(int m=0;m<S.length();m++){//石头a
            //第一趟a
            for(int n=0;n<J.length();n++){
                if(S.charAt(m)==(J.charAt(n))){
                    count++;
                }
            }
            
        }
        return count;
    }
}

Review(阅读点评)

The Key To Accelerating Your Coding Skills(加速编码技巧的关键)   https://www.cnblogs.com/duoyansanwei2018/p/duoyansanwei.html

  每一个人都能从这篇文章中找到自己一路过来的影子。你现在处于哪个阶段呢?!

  通过拐点,获得用以解决任何他们遇到的问题的能力。
  你能自己解决任何遇到的问题是一个无价的技能。
  真正的信心在教程或指南中是找不到的。 真正的信心来自于解决您不知道如何解决的问题,以及自己发现解决方案。
  the master has failed more times than the beginner has even tried
  大师失败的次数比初学者尝试的次数还多。
  所以,do it try agin try agin agin agin ,多多的尝试吧。

扫描二维码关注公众号,回复: 5610344 查看本文章

  因为你永远不会知道所有要知道的事情,所以你需要能够自学如何解决手头的问题。

  在Web开发中,实际上有两个拐点将会一起到来(1、Web开发的拐点-CRUD增删改查,2、算法和数据结构拐点)

  在大多数面试中,面试官会假设您已经通过了Web开发的拐点,因为web开发拐点比较容易,并且将他们的问题集中在评估您的算法和数据结构技能上。 这些问题通常集中在我们上面提到的主题:排序算法,反转链表,以及使用堆栈,队列和树。
  一旦开发人员通过了Web开发拐点和算法以及数据结构拐点,他们就掌握了通向王国王位的钥匙。

  刚开始学习编程的时候,遇到错误,非常慌,很害怕,过了一段时间之后,看到程序报错一点不慌,因为有信心解决问题,只要是报错,就分析定位,抽丝剥茧,一定能解决。要建立起信心,建立信心也是需要一个过程。

  重要的是找到拐点并消灭它,(算法和数据结构拐点),努力消灭它。

Tip(技术技巧)

在java开发中,对空字符串的判断,最好自己实现一个isBlank()方法
在之前的开发中,判断一个字符串是不是空,如果是空字符串的话,不向核心传递报文节点。
结果发现,有时候,这个字符串的值是null,这种情况也不应该向核心传递报文节点。
也就是说,null 、 "" 这两种都判断是空。
public static boolean isBlank(String str){
    return null == str || "".equals(str.trim());
}

   总结:根据一个字符串判断条件的时候,要知道字符串的所有可能的值,根据不同的值做相应的逻辑处理。如果你只是针对字符串是"",走不传递报文的逻辑;字符串的值出现你预料之外的null,你也要考虑清楚并走正确的业务逻辑。

Share(分享自己写的文章)

程序上线【起飞检查清单】-让事故和教训转变为实用的清单

文章详情:   https://www.cnblogs.com/duoyansanwei2018/p/10575695.html

1、飞行员驾驶飞机起飞前,必须完成数百个步骤,其中大部分内容罗列在检查清单里。如果纯粹靠记忆检查,可能会出错,因此,飞行员会严格按照检查清单进行检查。确认每个开关、仪表盘、操纵杆都处于正确位置后,飞机才能起飞。 
最优秀的飞行员也会在起飞前按检查清单检查一遍飞机,没人拿生命开玩笑。
 
2、程序上生产的时候,类似飞机起飞,也会有很多需要检查的项目,如果只是凭借程序员的记忆来进行检查,难免会有遗漏,并导致生产问题。
执行一个检查清单,这会减少风险。
清单为我们提供了一种认知防护网,能够抓住每个人生来就有的认知缺陷,如记忆不完整和注意力不集中,由于清单的强大功能,也可能给我们带来更多的意外惊喜。
 

猜你喜欢

转载自www.cnblogs.com/duoyansanwei2018/p/10575335.html