leetcode题库上的算法题目之—实现两数之和(java语言版)

Java 发表评论
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]实现如下:class Solution { public static int[] twoSum(int[] nums,int target){ int[] array = new int[2];//创建一个array数组来接收返回值 for(int i=0;i&l…

金融类自定义View(四)–股票蜡烛图以及MA、BOLL指标

Java 发表评论
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 金融类自定义View(四)–股票蜡烛图(包含MA、BOLL指标)以及代码重构 前言 本文只描述蜡烛图单独的绘制逻辑,至于和分时图相同的逻辑不再阐述,感兴趣的可以查看之前的文章,会有详细的阐述。 首先会介绍蜡烛图的绘制思路、MA/BOLL指标的绘制、指标y轴越界问题、x轴绘制的细节处理。 最后会介绍一下代码的重构处理以及对后期副图部分的绘制影…

DCT蝶形运算java实现

Java 发表评论
DCT运算实现,其原理是离散余弦算法。将信号转到频域中。 以下代码经验证是正确的 代码如下,包括对一维数据和二维数据: <pre name="code" class="java">/** * author:vivian * 时间:2015.5.28 * 版本:第一版 * 功能:8点快速傅里叶运算,用的是蝶形运算方法 * * 各方法的功能 * 1)IntDCT1D针对的是一维的数据,进行8点蝶形运算 * 2)I_IntDCT1D一维数据的8点蝶形逆运算 * 3)IntDCT2D针对…

一致性hash算法介绍以及Java实现

Java 发表评论
一致性哈希算法(Consistent Hashing)最早在论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》中被提出。简单来说,一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整形),整个哈希空间环如下:   整个空间按顺时针方向组织。0和232-1在零点中方向…

信用卡校验位算法THE LUHN MOD-10

Java 发表评论
信用卡校验位算法THE LUHN MOD-10 [url]http://blogread.cn/it/article/6324?f=wb[/url]import org.apache.commons.lang3.StringUtils;public class CreditCardValidator { /** * 1. 对卡号上的每位数字乘以权重。其规则是,如果卡号数字个数是偶数,则第一位乘以2,否则就乘以1,然后以后分别是,1,2,1,2,1,2; * * 2. 如果每位数字乘以权重后超过9 ,则需要减去 9; * * 3. 将所有的处理过的加权数字求…

深搜和广搜算法

Java 发表评论
  深搜和广搜算法思想 本文转载自:http://blog.csdn.net/bool_isprime/archive/2010/08/11/5803018.aspx 深度优先搜索和广度优先搜索的深入讨论 一、深度优先搜索的特点是:    (1)从上面几个实例看出,可以用深度优先搜索的方法处理的题目是各种各样的。有的搜索深度是已知和固定的,如例题2-4,2-5,2-6;有的是未知的,如例题2-7、例题2-8;有的搜索深度是有限制的,但达到目标的深度是不定的。…

退避算法

Java 发表评论
退避算法应用场景 微信支付结果通知 支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。 (通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒) 注意:同样的通知可能会多…

Java编写图形学的种子填充算法

用C写的图形学填充算法已经很多了,看到不少帖子都是在问关于如何用Java编写图形学的填充算法,说来也巧,我刚好要做一个这个方面的实验,用的是扫描线种子填充算法,由于时间仓促,代码质量可能不算很高,希望大家见谅,并希望大家都来为我指点一下,小弟不胜感激~~ 好了,废话就不说了,我们先一起来看一下相关的知识~ 扫描线种子填充算法思想   首先填充种子所在的尚未填充的一区段,然后确定与这…

Java-集合(list接口)

Java 发表评论
集合 概述 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。Java程序员在具体应用时,不必考虑数据结构和算法 实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率 为什么使用集合框架 如果并不知道程序运行时会需要多少对象…

二十三种设计模式之模板模式

模板模式:封装了一个算法步骤,并允许子类为一个或者多个步骤方法提供实现 模板模式可以使子类在不改变算法的情况下,重新定义算法中的某些步骤 框架一般用模板来做的 比如Java的数组排序 Java实现排序算法,比较大小的规则有子类实现Comparable类来提供 应用场景:冲水 冲咖啡 public abstract class HotDrink { public final void perpareRecipe(){ boilWater(); brew(); pourInCup(); if(wantCondiment…

java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。

java 中关于将数据排序的算法有专门封装的方法,也有专门讲有序数组打散的方法。对于排序上次已经简略讲过,这里讲的是关于将数组打散,然后再随机获取数组总的数据。 当然算法不是很难,在这里我只是想跟大家交流一下java语言的基本运用。 代码如下:相信有java基础的人都能够理解这样的算法: import java.util.Arrays;import java.util.Random;import java.util.Scanner; public class Test { publ…

联系人等拼音搜索算法与框架的心得

Java 发表评论
由于本人有些懒惰,不喜欢写博客之类的如有不妥还请见谅在完成我的通讯录项目的时候,需要用到T9和字符串匹配,在网上和github找了一通,发现并没有理想的算法,由于这部分算法即便现在不研究,以后肯定有用得着的地方,于是决定自己研究一下, 下面将研究了一个星期的成果公布出来,自己创造的小算法,如果有更好的还请提示一下, 此算法通配一切,qwer匹配,T9匹配 此算法不支持多音字,准确度为95%,目前未研究出1…

Java虚拟机详解04—-GC算法和种类【重要】

JVM 发表评论
本文主要内容: GC的概念 GC算法     引用计数法(无法解决循环引用的问题,不被java采纳)       根搜索算法       现代虚拟机中的垃圾搜集算法:       标记-清除       复制算法(新生代)       标记-压缩(老年代)       分代收集 Stop-The-World   一、GC的概念: GC:Garbage Collection 垃圾收集 1960年 Lisp使用了GC Java中,GC的对象是Java堆和方法区(即永久…

java 代码实现 Top N 问题

Java 发表评论
思路:用小根堆来实现,时间复杂度是O(nlgK),而且内存消耗是 K。时间复杂度消耗在代码中aaa 处 如果用海量数据排序,内存放不下,得用归并排序,最好最坏平均都是 O(nlgn) 代码如下: package AlgorithmTopK; public class TopK { public int[] createHeapOther(int a[], int k) { int[] result = new int[k]; for (int i = 0; i < k; i++) { result[i] = a[i]; } for (int i = 1; i < k; i++) …

jvm中垃圾回收机制

Java的GC机制是自动进行的,和C语言有些区别需要程序员自己保证内存的使用和回收。 Java的内存分配和回收也主要在Java的堆上进行的,Java的堆中存储了大量的对象实例,所以Java的堆也叫GC堆。 Java在垃圾收集的过程中,主要用到了分代收集算法,我会先讲一下常用垃圾收集算法。 常用垃圾收集算法 1. 标记-清除算法 这种垃圾收集算法思路非常简单,主要是首先标记出所有需要回收的对象,然后回收所有…
下一页 »