算法练习·2的平方判断

题目:判断一个整数是否为2的n次方 举例: 4 = 22 8 = 23 64 = 26 青铜解法: 由上图可知,只要是2的n次方,一直除以2,最终会等于1 private static boolean power(Long number){ //如果是0 直接返

算法练习·两数之和

题目 在一个整数数组array中,查找2个数字,要求这2个数字之和等于target 示例: 存在数组array:[2, 5, 8, 5] 目标值target:10 2 + 8 ==> array[0] + array[2] = 10 返回数组 [0,2] 解法一:暴力遍历法 O(n2)

算法练习·找出数组中的单身狗

问题:从以下数组中找出只出现一次的数字 入门级:循环遍历数组中的每个数字出现的次数 public static void main(String[] args) { Integer[] arr = {1,2,1,2,6,8,6,9,8}; int single

算法练习 · 求出等差数列中丢失的那个数

问题:找出以下等差数列中丢失的那个数 可以看到,上图数组中丢失了4这个元素。那么,如何用程序的手段将它找出来呢 方法一:新建一个bit数组,长度为原数组中的最大值,比如上图数组,最大值为9 public static void main(String[] args) { /

算法练习 · 将数组中的0全部移动到末尾(二)

上一篇中介绍了一种算法,可以在复杂度为O(n)的情况下将一个数组中所有为0的元素移动到最末尾去,这一章使用一种更为精彩的算法实现这个效果 问题:如以下数组。将数组中的2个0移动到数组末尾 限制:只能遍历一次数组 代码实现如下 private static void moveZero1(

算法练习 · 将数组中的0全部移动到末尾(一)

问题:如以下数组。将数组中的2个0移动到数组末尾 限制:只能遍历一次数组 步骤 定义zerocnt变量存储0的个数 如果arr[i] == 0,zerocnt加一,继续往后遍历 如果arr[i] !=0,则进行位移操作,位移公式arr[i-zerocnt] = arr[i] 最后将

图解数据结构和算法(四) · 归并排序(Merge Sort) java实现

java实现归并排序 简介 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称

图解数据结构和算法(三) · 冒泡排序(Bubble Sort) java实现

Bubble Sort搭配动图直观的讲解排序过程。通过动图直观的展示排序过程,结合动图使用java代码实现每一次的移动,直观的解释了排序思路。

玩转红黑树 (第五部分)红黑树的概念与插入

使用最为直观和简明扼要的语言概述红黑树特征和插入规则。使用gif动态图片详细的分析各种情况。RBtree依旧遵守BST规则,有AVL基础的朋友,会更好理解RBtree。

玩转红黑树 (第四部分)使用java实现平衡二叉树(avl tree)(删除,查找)

使用Java实现平衡二叉树(AVL)的删除与查找逻辑。本文使用了动图直观显示node节点在删除后,如何判断AVL是否失衡,失衡后如何旋转才能达到平衡
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×