zoukankan      html  css  js  c++  java
  • 每周学算法/读英文/知识点心得分享 2.4

     每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!

    Algorithm: 学习算法

    题目:https://leetcode.com/problems/zigzag-conversion/

    解题过程:

    刚开始没看懂什么意思,看了两遍,明白是把字符串从上至下按照锯齿形排列,然后按行输出。 根据题目提示可以继续做一下延伸,把1-20 按 n=5 自己排列一下。

    这种题一般有规律,找出要打印的字符在字符串里的下标,收集在一起就是结果了。

    规律就是,同一行中 不同纵列里的数字间隔是2*n - 2(以n=5为例,2*n - 2 = 8 = 9-1 = 17-9 )。从第二行开始,每两个纵列之间隔一个数字,假定行数为i,该数字与前一个数字的interval 为 i+2*n-2-2(i-1) (第三行,i=3,n=5, 3+2*5-2-2(3-1) = 7)。

    这里有两种循环规则,第二种依赖于第一种。我们用两遍循环去输出,第一层是按 i 行遍历,第二层是从 i 开始,间隔 2*n - 2 ,遍历。第二层循环里面寻找与 i 间隔 i+2*n-2-2(i-1) 的数。

    另外一个小技巧,使用StringBuilder来拼接字符串。

    解法:https://raw.githubusercontent.com/chy996633/leetcode/be515a6a088de4f0e882ccb4fc7cd9e1fcf5464d/src/ZigZagConversion.java

    public class ZigZagConversion {
    
        public String convert(String s, int numRows) {
            if (numRows <= 1) return s;
            if (numRows == s.length()) return s;
            StringBuilder res = new StringBuilder();
            int x = 2 * numRows - 2;
            for (int i=0;i<numRows;i++) {
                for(int j=i;j<s.length();j +=x){
                    res.append(s.charAt(j));
                    int y = j + x - 2 * i;
                    if (i != 0 && i != numRows-1 && y < s.length()) res.append(s.charAt(y));
                }
            }
            return res.toString();
        }
    
    }

    Review: 学习英文

    题目:微服务文章 - Smart endpoints and dumb pipes

    内容概述:这节没有太读懂,大意是微服务架构在终端是解耦 和 有凝聚力的,单个服务对外的通信基于轻量级机制,一般是基于HTTP协议 或 RESTful API。通信机制应当尽可能dumb,终端尽可能smart。

    Stress 作为动词有强调之意。fabric 有布料/结构之意。fine-grained 细粒度。coarser-grained 粗粒度。

    Tips: 知识点

    Java中 @Transient 这个注解在Hibernate中用于标注不需要作持久化操作的字段。如果字段没有标注@Transient ,Hibernate会默认进行持久化,这时如果数据库表没有相应字段就会报错。

     

    Share: 价值观

    人生的结果 = 思维方式 * 热情 * 能力。 努力发展出看问题的不同角度,专注并且投入热情,加上能力,就可以做出好的结果。

  • 相关阅读:
    BOI 2002 双调路径
    BOI'98 DAY 2 TASK 1 CONFERENCE CALL Dijkstra/Dijkstra+priority_queue/SPFA
    USACO 2013 November Contest, Silver Problem 2. Crowded Cows 单调队列
    BOI 2003 Problem. Spaceship
    USACO 2006 November Contest Problem. Road Blocks SPFA
    CEOI 2004 Trial session Problem. Journey DFS
    USACO 2015 January Contest, Silver Problem 2. Cow Routing Dijkstra
    LG P1233 木棍加工 动态规划,Dilworth
    LG P1020 导弹拦截 Dilworth
    USACO 2007 February Contest, Silver Problem 3. Silver Cow Party SPFA
  • 原文地址:https://www.cnblogs.com/andrew-chen/p/10361840.html
Copyright © 2011-2022 走看看