美文网首页
ARTS第二周

ARTS第二周

作者: leo小超 | 来源:发表于2019-03-31 20:42 被阅读0次

Algorithm

leetcode125(125. Valid Palindrome),判断是否回文,只考虑a-z、0-9、A-Z,忽略大小写
第一个思路,一看到回文,就想到栈,先去掉无用字符,再用栈判断是否回文,刚下笔写到stringbuilder,想到如果字符串很长,stirngbuilder
会复制一份string占用很大内存。接着想到上一篇写的一左一右指针,然后放弃第一个思路用第二种方法
第二个思路,左指针从左到右走,右指针从右往左走,然后比较。左右指针遇到了,回文了。

code
public boolean isPalindrome(String s) {
        Character ci;
        Character cj;
        for (int i = 0, j = s.length() -1; i < s.length() && j >= 0; i++) {
            if (i == j) {
                return true;
            }
            ci = s.charAt(i);
            if (ci >= '0' && ci <= '9') {
                for (; j >= 0; j--) {
                    if (i == j) {
                        return true;
                    }
                    cj = s.charAt(j);
                    if (cj >= '0' && cj <= '9') {
                        if (ci == cj) {
                            j--;
                            break;
                        } else {
                            return false;
                        }
                    } else if (cj >= 'a' && cj <= 'z' || cj >= 'A' && cj <= 'Z') {
                        return false;
                    }
                }
            } else if (ci >= 'a' && ci <= 'z') {
                for (; j >= 0; j--) {
                    if (i == j) {
                        return true;
                    }
                    cj = s.charAt(j);
                    if (cj >= '0' && cj <= '9') {
                        return false;
                    } else if (cj >= 'a' && cj <= 'z') {
                        if (ci != cj) {
                            return false;
                        } else {
                            j--;
                            break;
                        }
                    } else if (cj >= 'A' && cj <= 'Z') {
                        if (ci - cj != 32) {
                            return false;
                        } else {
                            j--;
                            break;
                        }
                    }
                }
            } else if (ci >= 'A' && ci <= 'Z') {
                for (; j >= 0; j--) {
                    if (i == j) {
                        return true;
                    }
                    cj = s.charAt(j);
                    if (cj >= '0' && cj <= '9') {
                        return false;
                    } else if (cj >= 'a' && cj <= 'z') {
                        if (cj - ci != 32) {
                            return false;
                        } else {
                            j--;
                            break;
                        }
                    } else if (cj >= 'A' && cj <= 'Z') {
                        if (ci != cj) {
                            return false;
                        } else {
                            j--;
                            break;
                        }
                    }
                }
            }
        }
        return true;
    }

Review

java-12-switch-expressions
java 12 新特性switch语法,省略了代码块、临时变量,同时支持表达式。使用--enable-preview 开启特性

Tip

mac上ll查看权限看到权限后面无意中看到有个@,查了是拓展属性
拓展属性操作指令xattr

navicat导出sql文件,使用Tools->Data Transfer 可以将insert语句导成批量插入

Share

最近在极课时间上看《数据结构算法之美》,有看到说一致性hash,不是很懂,自己去了解了下,然后输出一篇一致性hash

相关文章

  • ARTS第二周

    前言 ARTS第二周 Algorithm 深度优先搜索 题目: 岛屿数量 classSolution{ int[]...

  • ARTS 第二周

    Algorithm 58. Length of Last Word Given a string s consis...

  • ARTS第二周

    Algorithm leetcode125(125. Valid Palindrome),判断是否回文,只考虑a-...

  • ARTS第二周

    1.Algorithm:两个数组的交集 2.Review:Effective Go小记一 3.Tip:kibana...

  • 2020-01-12-ARTS-一月第二周

    layout: posttitle: ARTS-2020一月第二周subtitle: 一月第...

  • ARTS打卡,第二周

    每周完成一个ARTS:1.A(Algorithm)每周至少做一个 leetcode 的算法题2.R(Review)...

  • ARTS第二周20200526

    Algorithm 最小路径和 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路...

  • ARTS打卡第二周

    Tip: Jenkins的CI&CD功能 Algorithm: Share: Review: New AI pro...

  • ARTS挑战-第二周

    Algorithm Leetcode-75 Review File System Programming Guid...

  • ARTS-第二周

    Algorithm 从基础开始手写动态数组 git代码地址 数组定义:数组(Array)是一种线性表数据结构。它用...

网友评论

      本文标题:ARTS第二周

      本文链接:https://www.haomeiwen.com/subject/eqedbqtx.html