美文网首页
ARTS-Week2 整数反转、ElasticSearch te

ARTS-Week2 整数反转、ElasticSearch te

作者: Jokay | 来源:发表于2019-04-01 01:19 被阅读0次

    Algorithm


    题目:

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例 1:

    输入:123输出:321

     示例 2:

    输入:-123输出:-321

    示例 3:

    输入:120输出:21

    注意:

    假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    我的解法:

    class Solution {

        public int reverse(int x) {

            String numStr = (x + "").replace("-","");;

            String[] nums = numStr.split("");

            numStr = "";

            for (int i = nums.length-1; i >= 0 ; i--) {

                numStr += nums[i];

            }

            long longNum = Long.valueOf(numStr);

            if(x<0){

                longNum = longNum * (-1);

            }

            if(longNum > Integer.MAX_VALUE || longNum < Integer.MIN_VALUE){

                return 0;

            }else {

                return  (int)longNum;

            }

        }

    }

    推荐解法:

    class Solution {

        public int reverse(int x) {

            int rev = 0;

            while (x != 0) {

                int pop = x % 10;

                x /= 10;

                if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;

                if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;

                rev = rev * 10 + pop;

            }

            return rev;

        }

    }

    Review


    ElasticSearch term query

    ElasticSearch,全文搜索引擎,介绍了其中的TermQuery。

    1.termQuery的作用:精确查询;简单理解为完全匹配,全词匹配。

    2.boost参数可以为TermQuery中查询的关键词设置不同的权重,使其相关性评分更高。

    3.TermQuery也支持对Range datatypes(范围型数据)查询,如数字、日期。

    4.如果想要全文搜索时用MatchQuery。简单记就是:查询时是否分词,如“中国人民”,不分词它就是“中国人民”一个词,分词以后就是“中国”、“人民”两个词去匹配。

    5.关于分词:

        5.1  创建或更新文档时,对文档进行分词处理

        5.2  查询时,会对查询语句进行分词 

        (以上分词通过通过index mapping设置search_analyzer实现 ,通常情况下使用搜索引擎都会分词,比较常用的分词器是ik分词器,es自己也有内置的分词器)

    6.正排索引:文档id到单词的关联关系    倒排索引:单词到文档id的关联关系)

    Tip


    linux常用的几个命令:

    1.将A服务器上的文件复制到B服务器,该命令在B服务器执行,IP为A服务器IP

    scp 99.99.99.99:/home/aaa/xxxxx.zip /home/aaa/

    2. 查看端口占用

    netstat -anp |grep 3306

    netstat -ano|grep "3306" | wc -l 端口占用线程数

    3.查看物理内存占用

    sudo du -ah --max-depth=1

    Share


    这篇文章用简单易懂的语言讲述了内存模型的基本概念以及 volatile关键字的作用,如何使用,应用场景。

    文章稍长,建议挑个空闲时间,仔细看看。

    Java并发编程:volatile关键字解析

    https://www.cnblogs.com/dolphin0520/p/3920373.html?tdsourcetag=s_pctim_aiomsg

    相关文章

      网友评论

          本文标题:ARTS-Week2 整数反转、ElasticSearch te

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