算法
yangxi_001
这个作者很懒,什么都没留下…
展开
-
经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12(1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项(2)、设计测试数据来验证函数程序在各种输入下的正确性。 感觉有点类似归并排转载 2014-06-13 10:46:04 · 627 阅读 · 0 评论 -
经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
1. 有一个整数数组,请求出两两之差绝对值最小的值。记住,只要得出最小值即可,不需要求出是哪两个数。(Microsoft) 方法1:两两作差求绝对值,并取最小,O( n2 )。方法2:排序,相邻两点作差求绝对值,并取最小,O( nlgn ).方法3:有没有O( n )的解法?网上有如下解法:设数组A = { a1, a2, … , an }, 求 s转载 2014-06-13 10:39:09 · 1026 阅读 · 0 评论 -
经典面试题(四)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
1金币概率问题(威盛笔试题)题目:个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间中拿金币。一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,就拿。否则就拿最后一个房间的金币。编程计算这种策略拿到最多金币的概率。 这题真要用数学的方法计算,估计还真不好算。还好,题目要求用编程实现。这样它就成了一个模拟题,即转载 2014-06-13 10:48:39 · 924 阅读 · 0 评论 -
经典面试题(三)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
1.判断单链表是否有环,要求空间尽量少(2011年MTK)如何找出环的连接点在哪里?如何知道环的长度? 很经典的题目。1.判断是否有环。使用两个指针。一个每次前进1,另一个每次前进2,且都从链表第一个元素开始。显然,如果有环,两个指针必然会相遇。2.环的长度。记下第一次的相遇点,这个指针再次从相遇点出发,直到第二次相遇。此时,步长为1的指针所走的步数转载 2014-06-13 10:47:40 · 778 阅读 · 0 评论 -
程序员必须知道的10大基础实用算法及其讲解
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2014-06-17 11:25:20 · 2973 阅读 · 0 评论 -
谷歌面试官经典作品(CTCI)目录
1.1 判断一个字符串中的字符是否唯一1.2 字符串翻转1.3 去除字符串中重复字符1.8 利用已知函数判断字符串是否为另一字符串的子串2.1 从链表中移除重复结点2.2 实现一个算法从一个单链表中返回倒数第n个元素2.3 给定链表中间某结点指针,删除链表中该结点2.4 求由两个链表结点组成的数之和2.5 给定一个循环链表,实现一个算法返回这个环的开始结点3.1 如何只用一个数组实现三个栈3.2转载 2014-06-17 11:27:55 · 1232 阅读 · 0 评论 -
《程序员编程艺术》
目录开篇程序员如何准备面试中的算法第一部分、面试心得第一章、字符魅影1.0:本章导读1.1:左旋转字符串1.2:字符串是否包含问题1.3:带通配符的字符串匹配1.4:字符串转换成整数1.5:回文判断1.6:最长回文子串第二章、数组玄妙2.0:本章导读2.1:寻找最小的 k 个数2.2:求给定下标转载 2014-06-17 11:30:17 · 707 阅读 · 0 评论 -
如何用一个月的时间准备google的技术面试
最近google在我大陆又火了一把,谷歌不能用了,哎呀,尼玛。还让不让程序员活了。在这个节骨眼上,我也来凑个热闹,对于广大需要谷歌的程序猿们,送上两个字:呵呵昨天在csdn上看到一位兄台的文章《给所有面试官》,吐槽了下极品面试经历。对于这位兄台所遇到的极品面试官,本人同样送上两个字:呵呵我曾经也参加过一些大大小小的公司笔试、面试,牛掰如阿里百度腾讯,犀利如Google,Mircos转载 2014-06-17 11:32:10 · 746 阅读 · 0 评论 -
程序员的自我修养
http://cricode.com/转载 2014-06-17 11:33:51 · 633 阅读 · 0 评论 -
白话经典算法
http://blog.csdn.net/column/details/algorithm-easyword.html转载 2015-06-25 15:59:21 · 635 阅读 · 0 评论 -
算法大牛的博客
http://blog.csdn.net/v_JULY_v转载 2014-06-10 14:11:56 · 736 阅读 · 0 评论 -
微软、Google等面试题
http://zhedahht.blog.163.com/blog/static/254111742011101624433132/原创 2014-06-10 11:30:10 · 967 阅读 · 0 评论 -
生成n以内的m个随机数
import java.util.Random;public class Rand { public static void main(String[] args) { final int[] nums = new int[m]; Random rand = new Random(); for(int i = 0; i < nums.lengt原创 2013-03-12 01:29:45 · 980 阅读 · 0 评论 -
生成一个元素各不相同的随机数据
public class Speed { public static int[] getSpeed(int MAX_SNOW_COUNT,int MAX_SPEED) { Random r = new Random(); int n = 0; Integer[] integer = new Integer[MAX_SNOW_COUNT]; int[] speed = n原创 2013-03-12 11:23:06 · 804 阅读 · 0 评论 -
双色球随机算法
package javatest;import java.util.HashSet;import java.util.Random;import java.util.Set;public class ball {Random r = new Random();public Set getRed() {Set redSet = new HashSet();原创 2013-03-11 16:46:05 · 2702 阅读 · 1 评论 -
图片压缩算法 3M压缩到200K
MainActivity:代码片段,双击复制0102030405060708091011121314151617181920212223242526转载 2013-11-20 19:51:57 · 2816 阅读 · 0 评论 -
经典排序算法 - 快速排序Quick sort
原理,通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列举个例子如无序数组[6 2 4 1 5 9]a),先把第一项[6]取出来,用[6]依次与其余项进行比较,如果比[6]小就放[6]前边,2 4 1 5都比[6转载 2013-11-08 16:37:57 · 614 阅读 · 0 评论 -
高效产生一组不重复的随机数(受编程珠矶启示)java实现
高效产生一组不重复的随机数这个需求应该是很常见的吧,需要从 0 到 n 之间选 k 个不重复的数组成一个序列。算法复杂度O(n),受编程珠矶启示,我用java写了该算法的实现,由于时间比较紧,其他的以后补充吧,直接上算法和效果:import java.util.Scanner;//随机生成n个不重复随机数,算法复杂度O(n) 受编程珠矶启示public class Test2 { pu转载 2013-11-13 20:02:06 · 959 阅读 · 0 评论 -
高效产生一组不重复的随机数
这个需求应该是很常见的吧,需要从 0 到 n 之间选 k 个不重复的数组成一个序列。我最早遇到这个问题是在给校ACM比赛出题时,需要随机产生一些测试数据,当时我想的是用一个辅助数组记录之前已经产生的随机数,如果当前产生的随机数已经出现过就再重新随机。显然这样的实现效率是很低的,设想从10000个数中随机产生10000个数的序列,当前面9999个数已经确定了时,最后一个数被随机到转载 2013-11-13 20:05:44 · 4738 阅读 · 1 评论 -
高效产生不重复的随机数
[cpp] view plaincopy//purpose: 生成随机的不重复的测试数据 //1000w数据量,要保证生成不重复的数据量,一般的程序没有做到。但,本程序做到了。 #include #include #include #include #include #include转载 2013-11-13 19:57:07 · 2283 阅读 · 0 评论 -
Algorithm算法
http://blog.csdn.net/kenden23/article/category/1648969转载 2014-06-10 14:04:40 · 890 阅读 · 0 评论 -
一个整型数组里除了一个或者两个或者三个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)
粗糙的给出了分析,最近比较累,以后会改进的。题目中包括三个小的问题,由简单到复杂:1,如果只有一个出现一次,考察到异或的性质,就是如果同一个数字和自己异或的活结果为零,那么循环遍历一遍数组,将数组中的元素全部做异或运算,那么出现两次的数字全部异或掉了,得到的结果就是只出现一次的那个数字。2,如果有两个只出现一次的数字,设定为a,b。也是应用异或,但是数组元素全部异或的结果x=a^b,因转载 2014-06-10 14:14:47 · 752 阅读 · 0 评论