
算法学习(Java)
ALIM MUSA
Android系统工程师
展开
-
二分搜索Java实现
二分搜索二分搜索,顾名思义就是将一组数据分成两部分来进行搜索。二分搜索算法的前提条件是这一组数据一定是已经排好序(升序)的数组。根据二分搜索的思想,首先我们根据已排好序(升序)的数组的长度进行二分,并将得到的中间值(a[mid]与需要查找的值(key)进行比较,若key>a[mid]则将在a[mid]右侧的数继续二分进行如上比较,以此类推直至key=a[mid]返回mid;若key<...原创 2019-09-04 21:27:39 · 242 阅读 · 2 评论 -
急先锋开宝箱问题(Java实现)
开宝箱(Java8)Description急先锋是一个商人,有一天找到了一个宝箱,宝箱需要正确的密码才能打开。同时他发现宝箱上有一个数字,和一份密码表。密码表上有n个密码,只有一个密码是正确的。急先锋所在的岛上有m个地点,每个地点有两个神秘的数字。他通过交易得到每个地点上拥有的信息,也知道这个宝箱上的数字是一个地点的标号x。急先锋需要先到x号地点,x号地点上的第一个数字就是他要去的最终地点...原创 2019-09-05 13:34:16 · 890 阅读 · 0 评论 -
快速排序Java实现
快速排序Java实现快速排序是相对其他排序效率高且简单的排序方,java.util.Arrays.sort方法也用快速排序的方法。快速排序算法也是相对于其他排序算法比较难理解的算法,但是掌握好方法也就不是那么难理解了。算法设计思路:参考博客快速排序算法需要找到一个基准值,本文中以数组最左边的元素作为基准值(即便这样会使算法对某些数组变得非常低效)。快速排序算法会把整个数组分成以基准值为基准的...原创 2019-09-06 21:19:31 · 314 阅读 · 0 评论 -
HDU1002 Calculation A+B Problem II (Java)
HDU1002Java两种解 ACProblem Description:题目来源I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.InputThe first line of the input contains an...原创 2019-09-13 19:59:51 · 344 阅读 · 0 评论