1 ARTS打卡第一周(2019-08-04)

2019-08-04  本文已影响0人  无敌的潘大帅

Algorithm

今天的算法题目是“存在重复元素”,从今天这道简单的算法题中,被折磨的死去活来的,不知道从何下手,只会最简单的遍历,结果是报了超时了。随后,自己思考了一阵,发现有官方题解,去里面寻找了一下解体思路,一下子明朗起来。也发现了自己对于理论的不足!

Review

今日阅读文章:“Regex tutorial — A quick cheatsheet by examples”

关于正则表达式的:

总结:从中又再次复习了正则表达式的一些内容,因为英文的缘故,后面的一些有点理解有点吃力,基础部分的语法得到了复习,今后要继续加强对正则表达式的练习。

Tip

今天的tips就分享我自己写的经典快速排序吧(Java 8 默认的sort方法的排序性能已经很高了),按照其他人再加上自己的理解写出来的(性能还是有待提升的),如果有错误,还请大家帮忙纠正,

基于Java编写的:

public static void quickSort(int[] arr, int left, int right) {
        if (right - left > 0) {
            int left1 = left;
            int right1 = right;
            int pivot = arr[left];
            while(left1 <= right1) {
                while (pivot > arr[left1]) {
                    ++ left1;
                }

                while(pivot < arr[right1]) {
                    -- right1;
                }

                if (left1 <= right1) {
                    if (left1 == right1) {
                        arr[left] = arr[right1];
                        arr[right1] = pivot;
                    } else {
                        int temp = arr[right1];
                        arr[right1] = arr[left1];
                        arr[left1] = temp;
                    }

                    ++ left1;
                    -- right1;
                }
            }

            if (left < right1) {
                quickSort(arr, left, right1);
            }

            if (left1 < right) {
                quickSort(arr, left1, right);
            }

        }
    }

Share

https://juejin.im/post/5b55660ee51d4519202e2003

这是一篇关于快速排序的文章,因为今天的算法题,有考到关于排序的要点,所以自己就去检索了几篇关于快速排序的文章,这篇我认为是比较好的,也让我今天对快速排序有了更深的认识(我算法基础很差的)。希望也可以帮助到其他人!

上一篇 下一篇

猜你喜欢

热点阅读