![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 72
jtracydy
猿分天空,持之以恒……化整为零,重新开始,说该说的,做该做的,持之以恒...
展开
-
基数排序
基数排序思路:首先按照个位的大小进行一次排序,十位的大小进行一次排序,知道所有的位数均遍历完成。代码中详细写出初级菜鸟,如果问题望指出,多多沟通,有利于成长。public class RadixSort { public static void main(String[] args) { int[] arr = new int[] { 111, 110, 22, 21, 7, 9,原创 2016-08-17 14:44:08 · 452 阅读 · 0 评论 -
八大内部排序以及稳定性
稳定性的定义:如果队列中存在相等的两个数字,如果数字在排序过程中不发生变化,则是稳定的排序,如果发生了变化则是不稳定的排序。交换排序:冒泡排序、快排排序。冒泡思路:每次循环大的往下沉,每次循环循环的长度-1。/* * 冒泡排序 交换排序顾名思义,假如某个位置的数据是确定的,寻找相应条件的数据进行交换, 例如:数组{ 49, 38, 65, 97, 76, 13, * 27,原创 2016-08-15 15:16:29 · 3817 阅读 · 1 评论 -
动态规划-菲波那切数列--DP_2
就是简单的把这个代码贴出来,按道理来讲这个大家都会package dynamic.planning;/* * 菲波那切数列 1、1、2、3、5、8、13、、、 * 主要公式:f(n) = f(n-1)+f(n-2) * 这个用DP做的好处是不同重复的计算那么多次的重复数据 */public class Fibonacci { public static void mai原创 2016-09-07 16:09:11 · 514 阅读 · 0 评论 -
动态规划-钢条切割--DP_1
package arithmatic.DynamicPlanning;/** * * 给定制定面值的硬币 ,并给出一个值,要求求出硬币综合为这个值需要的最少的硬币的个数,并具体的方案 */public class MinCoins {public static void main(String[] args) {int[] coins = { 1, 3原创 2016-08-31 23:01:28 · 888 阅读 · 0 评论 -
二叉树遍历
具体的思路我就不写了,代码贴出来,如果有需要的话可以私聊树的结构public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}原创 2016-08-12 14:06:21 · 285 阅读 · 0 评论 -
生成六位随机数
很多人都收过各种邀请码,但是很少人去研究这个几位的邀请码是如果生成的,在项目中遇到生成随机的六位邀请码,而且邀请码在数据库中存储,所以说就是邀请码不能重复。原创 2016-08-12 10:59:47 · 2622 阅读 · 1 评论 -
链表奇偶分离,并且链表反转
题目:将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转。示例:交换前链表的顺序 交换后链表的顺序4→5→7→1→6 ==> 1→7→5→6→4 1 ==> 1 (链表仅含一个元素)2→1 ==> 1→2原创 2016-09-03 15:36:19 · 1776 阅读 · 0 评论 -
筛选法求素数 java
思路:在一个boolean类型的数组中 ,从第二个开始遍历,将2的倍数置为false,3的倍数置为false。实例说明一下:求0-10的素数,定义数组boolean b[]=boolean[11];b[i]全部为false,从下标2~10(对应数字2~10)全部置为true,2是最小的素数,从2开始遍历,如果当前元素为b[i]=true,将所有2的倍数的值都置为空,3也同样。。。最好剩下的tr原创 2016-09-13 10:44:34 · 4186 阅读 · 2 评论 -
leecode 378. Kth Smallest Element in a Sorted Matrix java
刚开始采用一位数组中存放k个数字,结果都是超时,陷阱也很多。思路:二维数组元素存入一位数组中,然后排序,简单粗暴,解决问题而已,但是效率很低。int aimArr[] = new int[matrix.length * matrix[0].length]; int m = 0; for (int i = 0; i < matrix.length; i++) { for (in原创 2016-08-17 16:00:44 · 302 阅读 · 0 评论 -
leecode 230. Kth Smallest Element in a BST
扯犊子:我不乐意利用空间写这种树的遍历,尤其是后续遍历。有兴趣的可以考虑一下二叉查找树的性质进行寻找第k个最小值。题意:在二叉树中寻找最小的第K个元素。思路:我遍历了二叉树,将所有的数据存放到集合中,然后排序,直接利用集合的get()方法就取出来数了。public int kthSmallest(TreeNode root, int k) { if (root == null)原创 2016-08-30 17:18:06 · 516 阅读 · 0 评论 -
leecode 137. Single Number II
题意:给定一个数组,数组中存放多个三个数相同的数,其中一个数只有一个,例如这种的{1,2,2,2,3,3,3}。解题思路:将数组排序后能够变成{1,2,2,2,3,3,3}这种形式,我设定一个数字k,用做基数的作用,当k%3==0,表示前3、6、9...等没有单独一个数字的。重点就是考虑最后一个数字是唯一的情况。具体的说明代码里面,给你点想象的空间。 public int sing原创 2016-08-29 15:29:14 · 392 阅读 · 0 评论 -
leecode 167. Two Sum II - Input array is sorted
题意:在数组的中两个数字的和为目标数组,看了其实很简单是吧,注意有坑:人家求的事第几个,从第一个开始的。举个例子:Input: numbers={2, 7, 11, 15}, target=9 。Output: index1=1, index2=2 结果是:1,2。结果是第一个第二个。思路:思路很简单的,两个指针一个指向头一个指向结尾,往中间遍历,人家要求第一个数字的索引要小于第二个数原创 2016-08-29 14:54:09 · 430 阅读 · 0 评论 -
List集合对象去重-项目实战
在项目开发中从第三方数据源中获取数据存在的问题,以前看了不少的算法,第一次在实践的场景中使用,哈哈,虽然效率很低,但是还能接受! 1业务场景2算法分析3算法思路4代码1业务场景:根据姓名,总欠款和已还部分金额在账户表初始化目前用户总欠款和已还部分金额。 (1)案例数据: 存在数据集,每个数据集包含三个属性:原创 2017-12-08 16:50:26 · 2218 阅读 · 0 评论