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