算法人生
好一个大布丁
手游服务器研发工程师。有参与射击类型手游《雷霆战机》。MMO《末日危机》,SLG+ARPG《末日生存》开发经验。现在主要研究全球游戏服务器SLG类型游戏开发。研究分布式和微服务在游戏服务器中的应用。
展开
-
快速排序-java实现
所谓的快速排序的思想就是,首先把数组的第一个数拿出来做为一个key,在前后分别设置一个i,j做为标识,然后拿这个key对这个数组从后面往前遍历,及j–,直到找到第一个小于这个key的那个数,然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++;一直循环到i=j结束,当这里结束后,我们会发现大于这个key的值都会跑到这个key的后面,不是的话就可能你写错了,小于这个key的就会跑原创 2016-05-30 14:13:39 · 408 阅读 · 1 评论 -
编程实现一个比较任意两个软件版本号大小的函数 2018.11.01(更新)
如 1.2.3a 和 1.2.4b我写的方法,各位大大还有啥好的办法留言一下./** * * 编程实现一个比较任意两个软件版本号大小的函数,如 1.2.3a 和 1.2.4b * 当opt1大于opt2时返回true,当opt1小鱼opt2时返回false * * @param opt1 * @param opt2 * @r...原创 2018-09-21 15:44:15 · 5146 阅读 · 0 评论 -
给你一个小于 60 位的整数 p ,求大于 p 的最小的数 p1 ,使得 p1 中包含数 2333 。
哈哈,没事瞎写写算法,忘大家来修复呀。 题目:给你一个小于 60 位的整数 p ,求大于 p 的最小的数 p1 ,使得 p1 中包含数 2333 。public class Test { public static void main(String[] args) { System.out.println(test("1999999999999")); }...原创 2018-08-10 11:04:23 · 915 阅读 · 0 评论 -
AA制算法-java
算法源于生活,在生活中我们不缺少发现算法的眼睛,这个问题在北京一起租房的舍友提出的:每个人都有自己的消费,对于一起的在一个月或者是两个。 月内实行AA制。这一个月你出了多少钱,我出了多少钱,然后汇总,最后计算谁补偿给谁,以前都是人手统计,然后计算,效率不高,而且费事,作为一个开发工程师,很有必要将这个问题用算法实现出来,下面就是我写的算法。 /** * 订单实体:就是消费账单 */pub原创 2017-09-29 10:48:20 · 1803 阅读 · 1 评论 -
java不重复的随机输出数组中的全部数据(做更新)
题目意思:在已经有数据的一个数组中,随机的输出数组中的全部数据,但是不能重复的输出初来。一下是我实现的方式:要是有更好的方法小伙伴们可在评论区里面留下:package com.quit;import java.util.Arrays;import java.util.Random;/** * 测试随机输出0-100的数组 * @author twj * */public class Ar原创 2017-04-26 08:45:25 · 4614 阅读 · 11 评论 -
算法详解--杨辉三角
百度简介杨辉 (南宋著名数学家) 编辑 杨辉,字谦光,汉族,钱塘(今杭州)人,南宋杰出的数学家和数学教育家,生平履历不详。曾担任过南宋地方行政官员,为政清廉,足迹遍及苏杭一带。 他在总结民间乘除捷算法、“垛积术”、纵横图以及数学教育方面,均做出了重大的贡献。他是世界上第一个排出丰富的纵横图和讨论其构成规律的数学家。著有数学著作5种21卷,即《详解九章算法》12卷(1261),《日用算法》2卷(12原创 2017-03-09 11:29:54 · 8019 阅读 · 1 评论 -
算法详解--斐波那契数列
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。 java代码package algorithm;//1 1 2 3 5 8 .....public class Fibonacci {public static void mai原创 2017-03-09 10:59:41 · 1498 阅读 · 0 评论 -
算法详解--汉诺塔
算法由来 小故事 汉诺塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家Edouard Lucas曾提及这个故事,据说创世 纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣原创 2017-03-09 10:24:09 · 4169 阅读 · 0 评论 -
八大排序算法(改进版)
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最...转载 2017-03-08 16:37:06 · 1007 阅读 · 0 评论 -
匹配字符串相似度算法(各个语言版本)
C++版#include <iostream>#include <vector>#include <string>using namespace std;//算法int ldistance(const string source,const string target){ //step 1 int n=source.length(); int m=target.len原创 2016-11-03 13:19:15 · 5605 阅读 · 3 评论 -
二分排序(java)
基本思想就是:将待排序元素分成大小大致相同 的两个子集合,分别 对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。package com.suanfa;/** * 二分排序 * @author Administrator * */public class Merge { //递归分成小部分 public void merge_sort(int[]原创 2016-05-30 14:42:28 · 5426 阅读 · 0 评论 -
数组平衡点算法
去参加一场面试,最后面试官让写一个算法,当时我已经给出思路,可能手写的代码有点问题,面试官就死死的盯着我说,回去等通知吧。呵呵。 /** * 数组平衡点 * * @param array 数据源 * @return 返回平衡点,没有返回-1 可能存在多个 */ private static int[] balancePoint(int a...原创 2018-11-01 09:40:25 · 1042 阅读 · 0 评论