题解 | #快速排序#
快速排序
https://www.nowcoder.com/practice/38da660199d0400580ac3905c05f5bd6
快速排序的思想就是分治,主要思路就是,找到一个基准值(pivot),然后把整个数组切分成两个数组,左边数组的值都比基准值小,右边数组的值都比基准值大,然后递归对子数组进行排序。(相当于每一个切分下来的数组都是用的快速排序)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
/* 填写样式 */
</style>
</head>
<body>
<!-- 填写标签 -->
<script type="text/javascript">
// 填写JavaScript
const _quickSort = array => {
if(array.length<=1) return array
const len = array.length
let left = []
let right = []
let pivot = array[0]
for(let i=1;i<len;i++){
if(array[i]<pivot){
left.push(array[i])
}else if(array[i]>pivot){
right.push(array[i])
}
}
return [..._quickSort(left),pivot,..._quickSort(right)]
}
</script>
</body>
</html>
手撕题题库 文章被收录于专栏
这是我开卷的第一步!!
查看1道真题和解析
