Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 1.57 KB

ARTS 第 49 周 (20200725-20200731).md

File metadata and controls

44 lines (36 loc) · 1.57 KB

1.Algorithm

  • 680. 验证回文字符串 Ⅱ
  • 思路:
    • 使用双指针,一个从左到右遍历,一个从右到左遍历,判断两个指针指向的字符是否相同,如果相同,字符串是回文字符串
    • 如果不相同,删除一个字符,再判断删除完之后的字符串是否是回文字符串
  • 实现
    public boolean validPalindrome(String s) {
            for (int i = 0, j = s.length() - 1; i < j; i++, j--) {
                if (s.charAt(i) != s.charAt(j)) {
                    return isPalindrome(s, i, j - 1) || isPalindrome(s, i + 1, j);
                }
            }
            return true;
    }
    
    private boolean isPalindrome(String s, int i, int j) {
            while (i < j) {
                if (s.charAt(i++) != s.charAt(j--)) {
                    return false;
                }
            }
            return true;
     }

2.Review

  • 《Go in Action》第 1 章

3.Tip

  • NPM 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题
  • 常见的使用场景
    • 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用
    • 允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用
    • 允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用
  • 新版的 nodejs 已经集成了 npm。可以通过输入“npm -v“来测试是否成功安装
  • 升级:npm install npm -g

4.Share

  • 《Go in Action》第 1 章