随笔分类 - Audition
摘要:考虑链表的单向性,因此两个相交的链表应该呈现出Y开状,而不是X形状,即第一个交点后的长度相同,这样通过遍历两个链表可以判断开头部分的长度之差。设链表A – B = M,则先让A链表先遍历M的结点,然后A,B两链表同时遍历,比较两个结点,第一个相同的结点则为第一个交点。
阅读全文
摘要:1.往往假设特征之间独立同分布,那么似然函数往往是连城形式,直接求骗到不好搞,根据log可以把连乘变为连加。 2.另外概率值是小数,多个小数相乘容易赵成浮点数下溢,去log变为连加可以避免这个问题。 若果原始似然函数中没有连加和,那么去对术后没有log(a+b)的形式,此时可以用GD,否则用EM,村
阅读全文
摘要:研发时候,不要受原来的术语的影响,其实就是想着原来学过的或者看过的可以解决新遇到的问题,这其实是侥幸心理,忘记原来的术语吧,那只是你创新的源泉。 遍历就是把节点按一定规则构成一个线性序列,不同的规则得到不同顺序的线性序列,仅此而已 。 算法是实际问题工作步骤的抽象,不要一味想算法,想想实际...
阅读全文
摘要:一.问题来源 昨晚看微博,发现于梁斌penny,他在说现在的面试制度考不出来真功夫,也就是基本功,面试题千篇一律的算法,看过会,不看就不会。期间提到了快慢指针求中位数。 查资料时我发现,这其实是计算机系统原理里的知识点。二.快慢指针概念 快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快...
阅读全文
摘要:一.问题来源及描述 今天看了July的微博,发现了七月问题,有这个题,挺有意思的。 数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置。如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置。二.算法分析及实现 这道题目最差时间复杂度也是O...
阅读全文
摘要:一、算法效率比较 题目:针对数组A和数组B,两个数组的元素内容相同,不过数组A是已经排序的,数组B是乱序的,针对数组的中位数,存在以下两组程序,比较其效率并分析原因。 int g;int main() { g = 0; for(int i = 0 ; i mid ) ...
阅读全文
摘要:一、题目理解 题目:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'a[right],则表明前半段元素中存在大于后半段的元素,那么我们...
阅读全文
摘要:一个SX问我的,我就写了写......从2010.1.1开始,给了一组测试数据3的话输出2010.1.4星期1,所以说2010.1.1是星期五,总星期就是(day+5)%7==0?7:(day+5)%7 下面是代码......#include #include using namespace s...
阅读全文
摘要:早上买了两个饼夹肉,我吃了一个,辣椒粉好多,现在一直在实验室喝水。一、倒数第n位 今年暑假去世纪佳缘面试,其中一题就是这个,只能遍历一遍链表求出倒数第n位。 答案是两个指针,第一个在头部设为A,第二个在正数第n位设为B,当B到末尾时候,此时A在倒数第n位。感觉确实不怎么好想。 “现在我扪心自问:在...
阅读全文
摘要:我只是从网上搜集的,下面的代码或许有错误。 看了会Hadoop,和传华聊了会,他说,他们那三等奖8000,;打算要回宿舍了,不经意间看到了这个题,貌似简单,其实还是比较有难度的。 一段时间只能干一件事就行了。 有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最...
阅读全文
摘要:浏览网页偶得,遂记录下来,每天进步一点点…… 博客园真是个不错的平台,今天我让师姐也注册了…… 学会分享吧,孩子们…… 一、编程中无穷大量的设置 如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(...
阅读全文
摘要:我记得在算法导论里看过这个算法,貌似开篇就是。 维护一个大小为100的数组top100,第一个里面存储最先100个数字里的最小值,构建小顶堆,然后循环下标100到一亿,若是大于top100[0]就交换,重新构建小顶堆,循环完毕就得到结果了。 对top100[100]插入排序效率不知道如何。 进行100次区间快排求k值如何。 ...
阅读全文
摘要:一.引入 偶然在网上看见的,手痒了,就试了试,哈哈。。。。。。。做出来了,实际就是模拟。 下面的来自维基百科:循环小数是从小数部分的某一位起,一个数字或几个数字,依次不断地重复出现的小数。 循环小数即为有理数的小数表示形式,例: 定理:一个分母为N的循环小数的循环节位数最多不超过N-1位。 (1...
阅读全文
摘要://-----------------------String a = "abcde";char[] b = a.toCharArray();char temp;for(int i=0;i=0;i--) { char chr = str.charAt(i); System.out.print (chr);} System.out.print("]"); String是线...
阅读全文
摘要:1、给你一个数组,设计一个既高效又公平的方法随机打乱这个数组(此题和洗牌算法的思想一致) 方法比较简单,基本思想是每次随机取一个数,然后把它交换到最后的位置。然后对前(n-1)个数使用递归的算法。 递归实现: void suffle(int a[], int n){ if(n<=1)return; swap(ar[n-1], a[rand()%n]); shuffle(a,n-1);} 非递归实现:void suffle(int a[], int n){ while(n>1){ swap(a[n-1], a[rand()%n]); n--; }} 2、有一苹果,两个人抛硬币来决定谁
阅读全文