算法
文章平均质量分 71
philofly
这个作者很懒,什么都没留下…
展开
-
查找链表中倒数第k个结点
程序员面试题精选(09)-查找链表中倒数第k个结点题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前原创 2009-11-22 18:24:00 · 1518 阅读 · 0 评论 -
UTF8编码格式的中英文字符如何换行
UTF8编码格式下,1个中文字符占3个字节,1个英文字符占1个字节。 如果遇到一大堆中英文字符串混杂,如何换行呢,请看代码: /*功能:UTF8中英文字符换行输入:szStr: 字符串 ncount:每行容纳的中文字符输出:lineStr原创 2011-09-08 14:38:16 · 6827 阅读 · 1 评论 -
一道经典的面试题:如何从N个数中选出最大(小)的n个数?
一道经典的面试题:如何从N个数中选出最大(小)的n个数?北京交大LuoBin这个问题我前前后后考虑了有快一年了,也和不少人讨论过。据我得到的消息,Google和微软都面过这道题。这道题可能很多人都听说过,或者知道答案(所谓的“堆”),不过我想把我的答案写出来。我的分析也许存有漏洞,以交流为目的。但这是一个满复杂的问题,蛮有趣的。看完本文,也许会启发你一些没有想过的解决方案(我一直认为堆也转载 2009-11-22 20:05:00 · 1105 阅读 · 0 评论 -
面试题目——链表专题2
链表也算是基本数据类型之一了。记得刚学习C语言的时候,链表和数组是见得最多的数据类型了。也正因为它的常用,在面试的时候自然会有所涉及,本文主要讨论四道我觉得比较有趣的关于单链表的面试题。 Q1 链表的反序 Q2 找出链表的中间元素 Q3 链表排序 Q4 判断一个单链表是否有环 以下给出链表结点的数据结构: typedef struct _list_node原创 2009-11-22 18:19:00 · 881 阅读 · 0 评论 -
面试题目——链表专题
面试的时候,书写程序要注意以下几点1.确认了解题意,如果对题意了解不清,应该向面试人员问清楚2.明确题意后,首先思考找到一个复杂度可以接受的正确算法,并表述出来,注意可以在草稿纸上写写划划,进行验证3.观察复杂度能否再次降低4.书写程序时,一定要认真,坚决防止出现逻辑错误,并根据程序具体分析可能的极端情况,处理好边界,并自己进行用例测试,以验证程序。节点的定义如下:typedef转载 2009-11-22 18:18:00 · 700 阅读 · 0 评论 -
特殊的去除数组中重复数字问题
特殊的去除数组中重复数字问题 有一个大小为101的数组,里面的数字均介于0到99之间,但是里面的数字仅有一个数字是重复的,请写个函数去除数组中的重复数字。 #define INIT_NUM -1#define BUFFERSIZE 101方法一:(最最容易想到的办法)void RemoveBufferRepNum_00(i转载 2009-11-22 22:09:00 · 1332 阅读 · 1 评论 -
对一个整数按位反转
记得在以前也是写过一个按位反转(Reversing Bits)的文章,代码都是自己的,写的傻乎乎的。这次重新对它进行了书写。再加上由于看了 Henry S. Warren 的 《Hackers Delight》一书中的有关Reversing Bits 的相关介绍,所以写了这篇笔记。unsigned int ReverseBitsInWord00(unsigned int Num)转载 2009-11-22 21:52:00 · 1501 阅读 · 0 评论 -
字符串逆序
char * StrReverse(char * ch){ char tempch,* tch; int Len,i; tch = ch; printf("/n"); Len = strlen(ch); printf("Len = %d/n",Len); for(i=0;i { tempch = *tch; *tch = *(tch + Len - 2*i - 1); *(tch+Len-原创 2009-11-22 21:48:00 · 780 阅读 · 0 评论 -
stricmp ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/*_stricmp/_strcmpi perform a case-insensitive string comparision.For differences, upper case letters are mapped to lower case.Thus, "abc_" 字符串比较函转载 2009-11-22 20:50:00 · 2097 阅读 · 0 评论 -
求N个数中最大的K个数的几种方法与实现
某笔试题:内存中有一个长数组,有100W条记录, 每个记录为一个struct array, sizeof( array ) = 512, 在这个struct里有一个int型成员变量weight, 现要取得按个weight值从大到小排序的前500个数组单元(求N里的前K个大的数)直接贴代码吧,废话少讲(先说方法吧)~~~~解释在注释里:)const static long N = 1000转载 2009-11-22 20:09:00 · 3158 阅读 · 2 评论 -
atoi的java实现
atoi是字符串转换到整形的函数,用java如何实现呢?看起来简单,陷阱很多,在leetcode网站,这个函数能够写得完全正确的概率只有14%。atoi的需求是这样的:如果前面有空格,需要剔除空格;剔除空格后,第一个字符串如果是+号,认为是正数;如果是-号,认为是负数;后面的字符如果不是数字,那么返回0,如果是数字,返回实际的数字。遇到不原创 2014-11-07 10:47:04 · 5716 阅读 · 3 评论