LaN666
LaN666
全部文章
题解
归档
标签
去牛客网
登录
/
注册
LaN666的博客
梅花香自苦寒来~
全部文章
/ 题解
(共102篇)
排序
排序 冒泡排序(稳定排序) 思想:冒泡排序的思想就是比较当前数和后一个数的大小,将较大的数往后移动,这样可以确保一轮下来能将最大的数放在数组的最末端。然后重复此操作即可完成排序。 上面第一轮比较完,我们可以看到最大的数5已经被放在了最端,此时我们只需要将去掉最大的数的那部分(2,3,1,4)进行重...
排序
归并排序
快速排序
堆排序
优先队列
冒泡排序
2021-02-28
14
5425
旋转数组的最小数字
来自专栏
public int minNumberInRotateArray(int [] array) { if(array.length == 0) return 0; int l = 0, r = array.length-1; w...
二分查找
2021-02-05
2
708
斐波那契数列
来自专栏
加个备忘录,不然会重复计算 public class Solution { // 0 1 1 2 3 5 8 int[] dp = new int[45]; public int Fibonacci(int n) { if(n == 0 || n == 1) ...
斐波那契数列
2021-02-05
1
721
用两个栈实现队列
来自专栏
class CQueue { Stack<Integer> A; Stack<Integer> B; public CQueue() { A = new Stack<>(); B = new Stack&l...
栈实现队列
2021-02-05
1
568
重建二叉树
来自专栏
使用库函数 class Solution { /** 通过前序遍历中的第一个找到根结点,然后根据中序遍历结果根节点的左边为左子树,右边为右子树, 然后两颗子树采用同样的方法找去到根节点 **/ public TreeNode buildTree(int[] p...
重建二叉树
2021-02-05
1
597
从尾到头打印链表
来自专栏
leetcod返回是数组 class Solution { public int[] reversePrint(ListNode head) { if(head == null) return new int[]{}; ArrayLi...
链表
2021-02-05
1
632
替换空格
来自专栏
参数为String型,利用StringBuffer public String replaceSpace(String s) { if(s.length() == 0) return ""; StringBuffer sb = new Stri...
StringBuffer
字符串
2021-02-05
1
536
二维数组中的查找
来自专栏
使用双指针,从左下角开始寻找,利用行列都是递增的属性去进行遍历 public boolean findNumberIn2DArray(int[][] matrix, int target) { if(matrix.length == 0) return fal...
二维数组
双指针
2021-02-05
1
720
整数中1出现的次数
来自专栏
public int NumberOf1Between1AndN_Solution(int n) { int base = 1; int res = 0; while(base <= n){ int b = n%base...
数学
2021-02-04
2
669
数组中的逆序对
来自专栏
使用归并排序,右边小的上去就可以知道前面有多少个比它大的了 public class Solution { int count = 0; public int InversePairs(int [] array) { if(array.length < 2) ...
归并排序
2021-02-04
1
751
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页