排序算法整理

排序算法整理1、快速排序快速排序基于分治思想,相比于冒泡排序中每一轮只将一个元素移动到最右边,快速排序每轮会选出一个基准元素,并将数组中比他大的数移动到右边(从小到大排序),比它小的数移动到左边,从而将元素分割成两个部分,下一轮再分别在这两部分进行同样的操作。假设数组中有n个元素,在每一轮中,数组中


二叉树系列(一)

1、二叉搜索树迭代器实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用next()将返回二叉搜索树中的下一个最小的数。示例:BSTIteratoriterator=newBSTIterator(root);iterator.next();//返回3iterator.next();


某数之和系列(二)

1、最接近的三数之和给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组nums=[-1,2,1,-4],和target=1.与target最接近的三个数的和为2.(-1+


某数之和系列 (一)

没事做做算法题,给脑子开开光,走起。1、两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。方法一暴力枚举法设两个嵌套的循环,内循环依次和外循环的值相加,判断是否等于目标值。由于过于暴力,代码就不放了。时间复杂度:O(n2)方法二