算法
weaver_net
这个作者很懒,什么都没留下…
展开
-
整数表示问题。
我们知道,给定两个互质的整数X,Y,另外原创 2014-07-03 15:45:12 · 655 阅读 · 0 评论 -
java 快速排序
public static void QuickSort(int[] nums, int s, int t) { int i = s; int j = t; if (s < t) { int tmp = nums[s]; while (i != j) { while (i原创 2015-09-27 09:22:19 · 471 阅读 · 0 评论 -
[leetcode] Ugly Number
Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it in原创 2015-08-19 14:43:54 · 513 阅读 · 0 评论 -
[leetcode] Single Number III
leetcode ,java, Single Number III,位操作,异或原创 2015-08-18 10:17:02 · 566 阅读 · 0 评论 -
Java CAS理解
CAS(Compare and Swap),总结起来就只有一句话:CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。 首先说明一下最有名的synchronized的同步锁机制。 synchronized是一种独占锁,独占锁是一种悲观锁。所谓的悲观锁的悲观的意思就是“对于临界区的资源,悲观的认为其他的线程一定会被其他的原创 2015-07-31 17:33:34 · 666 阅读 · 1 评论 -
一个生成伪随机数的超级算法【转】
转自:http://www.chncla.com/yk/201006/p_7.html 最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。 某人提出一个问题:怎样才能生成一亿个不重复的随机数? 问题表述起来很简单,似乎只要弄明白什么叫随机数以及怎样用电脑生成随机数,就能解决问题。 随机数,个人理解为一定范围内出现转载 2014-11-05 10:15:19 · 748 阅读 · 0 评论 -
寻找多数元素的递归和迭代版本
多数元素定义:对于一组数,如果存在一个元素,该元素的个数大于n/2(向下取整),则该元素为多数元素。采用蛮力方法是把每个元素和其他元素比较,并且对每个元素计数,但是这样的比较次数是n(n-1)/2=Θ(n的平方),这种方法的代价太昂贵。比较有效的算法是对这些元素进行排序,并且计算每个元素在序列中出现多少次。这在最坏的情况下的代价是Θ(n㏒n)。因为在最坏的情况下,排序这一步需要Ω(n㏒n)次比原创 2013-09-27 20:45:07 · 2110 阅读 · 0 评论 -
三种交换方式时间分析
#include#include#includevoid swap1(int &a,int &b){ a=a^b; b=a^b; a=a^b; }void swap2(int a,int b){ int tmp; tmp = a; a = b; b = tmp; }void swap3(int a原创 2014-08-20 17:09:37 · 1455 阅读 · 0 评论 -
JAVA 二叉树遍历
二叉树的遍历是很重要的面试部分,递归的版本写起来很简单,而一般会要求写出非递归的版本。该文给出了非递归的二叉树遍历java版本,以供参考。原创 2015-09-05 14:50:24 · 575 阅读 · 0 评论