<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kkForWork的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/kkForWork</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; kkForWork]]></copyright><item><title><![CDATA[给定一个奇数n，比如n=3，生成1到n平方的数，如1到9，填入九宫格，使得横竖斜的和都相等。]]></title><link>https://blog.csdn.net/kkForWork/article/details/48348739</link><guid>https://blog.csdn.net/kkForWork/article/details/48348739</guid><author>kkForWork</author><pubDate>Thu, 10 Sep 2015 20:39:59 +0800</pubDate><description><![CDATA[给定一个奇数n，比如n=3，生成1到n平方的数，如1到9，填入九宫格，使得横竖斜的和都相等。


先来个3*3








8

1

6



3

5

7



4

9

2








n奇数幻方口诀：

1. 数字1放在第一行中间

2. 依次放在上一个数的右上角

2.1如果右边出去]]></description><category></category></item><item><title><![CDATA[面试算法题]]></title><link>https://blog.csdn.net/kkForWork/article/details/48340239</link><guid>https://blog.csdn.net/kkForWork/article/details/48340239</guid><author>kkForWork</author><pubDate>Thu, 10 Sep 2015 13:59:29 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/zhenjing/archive/2010/10/18/1854020.html

Problem 1 : Is it a loop ? （判断链表是否有环？）

Assume that wehave a head pointer to a link-list. Also assumethat we know the list is sin]]></description><category></category></item><item><title><![CDATA[k链表翻转]]></title><link>https://blog.csdn.net/kkForWork/article/details/48324001</link><guid>https://blog.csdn.net/kkForWork/article/details/48324001</guid><author>kkForWork</author><pubDate>Wed, 09 Sep 2015 21:53:03 +0800</pubDate><description><![CDATA[k链表翻转。给出一个链表和一个数k。
比如链表1→2→3→4→5→6，k=2，则翻转后2→1→4→3→6→5
若k=3,翻转后3→2→1→6→5→4，若k=4，翻转后4→3→2→1→5→6，用程序实现。


 ListNode* reverseKGroup(ListNode* head, int k)
 {
        if(head == NULL || k
        ]]></description><category></category></item><item><title><![CDATA[楼层扔鸡蛋问题]]></title><link>https://blog.csdn.net/kkForWork/article/details/48207001</link><guid>https://blog.csdn.net/kkForWork/article/details/48207001</guid><author>kkForWork</author><pubDate>Fri, 04 Sep 2015 09:59:16 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/ltang/archive/2010/11/23/1885791.html


==有限层数和蛋数，求即使最坏情况下需要的最少判断次数==
两个软硬程度一样但未知的鸡蛋，它们有可能都在一楼就摔碎，也可能从一百层楼摔下来没事。有座100层的建筑，要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。（参见[两个鸡蛋--一道]]></description><category></category></item><item><title><![CDATA[原地归并排序]]></title><link>https://blog.csdn.net/kkForWork/article/details/48007789</link><guid>https://blog.csdn.net/kkForWork/article/details/48007789</guid><author>kkForWork</author><pubDate>Wed, 26 Aug 2015 18:35:53 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/zhongkeli/article/details/8786694




原地归并排序所利用的核心思想便是“反转内存”的变体，即“交换两段相邻内存块”，对于反转内存的相关文章，曾在文章“关于反转字符串(Reverse
 Words)的思考及三种解法”中对一道面试题做了分析。这一思想用到的地方很多，在《编程珠玑》中被称为“手摇算法”。通过手]]></description><category></category></item><item><title><![CDATA[互斥量和信号量的区别]]></title><link>https://blog.csdn.net/kkForWork/article/details/47998817</link><guid>https://blog.csdn.net/kkForWork/article/details/47998817</guid><author>kkForWork</author><pubDate>Wed, 26 Aug 2015 09:46:33 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/lbsx/archive/2009/08/03/1537698.html


互斥量和信号量的区别


1. 互斥量用于线程的互斥，信号量用于线程的同步。
这是互斥量和信号量的根本区别，也就是互斥和同步之间的区别。
互斥：是指某一资源同时只允许一个访问者对其进行访问，具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序，即访问是]]></description><category></category></item><item><title><![CDATA[聚集索引和非聚集索引（整理）]]></title><link>https://blog.csdn.net/kkForWork/article/details/47957025</link><guid>https://blog.csdn.net/kkForWork/article/details/47957025</guid><author>kkForWork</author><pubDate>Mon, 24 Aug 2015 20:25:19 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/aspnethot/articles/1504082.html

聚集索引
　　一种索引，该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 
　　聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿，后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序，因此一个表只能包含一个聚集索引。但该索引可以包含多个列（组合索引），就像电话簿]]></description><category></category></item><item><title><![CDATA[C/C++之回调函数]]></title><link>https://blog.csdn.net/kkForWork/article/details/47955331</link><guid>https://blog.csdn.net/kkForWork/article/details/47955331</guid><author>kkForWork</author><pubDate>Mon, 24 Aug 2015 18:59:57 +0800</pubDate><description><![CDATA[作者：助你软件工作室 
出处：http://www.cnblogs.com/chenyuming507950417/ 
本文版权归作者和博客园共有，欢迎转载，但未经作者同意必须保留此段声明，且在文章页面明显位置给出原文连接，否则保留追究法律责任的权利。
转自 http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/23101]]></description><category></category></item><item><title><![CDATA[条件覆盖，路径覆盖，语句覆盖，分支覆盖解释]]></title><link>https://blog.csdn.net/kkForWork/article/details/47909391</link><guid>https://blog.csdn.net/kkForWork/article/details/47909391</guid><author>kkForWork</author><pubDate>Sun, 23 Aug 2015 19:57:57 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/fickleness/archive/2013/09/12/3317099.html


语句覆盖是指选择足够的测试用例，使得运行这些测试用例时，被测程序的每一个语句至少执行一次，其覆盖标准无法发现判定中逻辑运算的错误；

判定覆盖是指选择足够的测试用例，使得运行这些测试用例时，每个判定的所有可能结果至少出现一次，但若程序中的判定是有几个]]></description><category></category></item><item><title><![CDATA[fork之后子进程到底复制了父进程什么]]></title><link>https://blog.csdn.net/kkForWork/article/details/47835741</link><guid>https://blog.csdn.net/kkForWork/article/details/47835741</guid><author>kkForWork</author><pubDate>Fri, 21 Aug 2015 15:51:11 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/xy010902100449/article/details/44851453



[cpp] 
view plaincopyprint?


#include   #include   #include   #include     void main()  {      char str[6]="hello";        pi]]></description><category></category></item><item><title><![CDATA[寻找数组中的第二大数]]></title><link>https://blog.csdn.net/kkForWork/article/details/47426887</link><guid>https://blog.csdn.net/kkForWork/article/details/47426887</guid><author>kkForWork</author><pubDate>Tue, 11 Aug 2015 20:53:23 +0800</pubDate><description><![CDATA[转自http://m.blog.csdn.net/blog/xiyoukeke/6366197


前几天得知腾讯招聘测试人员的笔试题中的一道附加题是寻找数组中的第二大数，故考虑其做法，在此在此做一小结。

     找数组中的第二大数是一个查找过程，一般返回的应该是第二大数在数组中的位置，但若有其他用途，也可以返回该值

是否找到的标志和它的真值。估有两种做法，但其基本思想都是用一]]></description><category></category></item><item><title><![CDATA[rand5()产生rand7()]]></title><link>https://blog.csdn.net/kkForWork/article/details/47293589</link><guid>https://blog.csdn.net/kkForWork/article/details/47293589</guid><author>kkForWork</author><pubDate>Wed, 05 Aug 2015 10:53:00 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/dwdxdy/archive/2012/07/28/2613135.html


5.1-2 描述random(a,b)过程的一种实现，它只调用random(0,1).作为a和b的函数，你的程序的期望运行时间是多少？

注：random(a,b)为产生a,a+1,a+2,...,b的函数发生器，且产生各整数的概率相等，同为1/(b - a]]></description><category></category></item><item><title><![CDATA[利用后缀数组求最长的重复子串]]></title><link>https://blog.csdn.net/kkForWork/article/details/47291409</link><guid>https://blog.csdn.net/kkForWork/article/details/47291409</guid><author>kkForWork</author><pubDate>Wed, 05 Aug 2015 09:34:20 +0800</pubDate><description><![CDATA[后缀是指从某个位置
 i 开始到整个串末尾结束的一个特殊子串，可表示为suffix[i]
后缀数组是i从0变化到n-1，由suffix[i]所形成的数组。
如字符串 banana
该字符串产生的后缀数组为：

    suffix[0]:banana
    
suffix[1]:anana
    
suffix[2]:nana
    
suffix[3]:ana
 ]]></description><category></category></item><item><title><![CDATA[最长递增子序列（LIS）]]></title><link>https://blog.csdn.net/kkForWork/article/details/47256669</link><guid>https://blog.csdn.net/kkForWork/article/details/47256669</guid><author>kkForWork</author><pubDate>Mon, 03 Aug 2015 15:21:03 +0800</pubDate><description><![CDATA[转自http://www.ahathinking.com/archives/117.html


最长递增子序列又叫做最长上升子序列；子序列，正如LCS一样，元素不一定要求连续。本节讨论实现三种常见方法，主要是练手。

题：求一个一维数组arr[i]中的最长递增子序列的长度，如在序列1，-1，2，-3，4，-5，6，-7中，最长递增子序列长度为4，可以是1，2，4，6，也可以是-1，2，]]></description><category></category></item><item><title><![CDATA[动态维护数列的中位数]]></title><link>https://blog.csdn.net/kkForWork/article/details/47066471</link><guid>https://blog.csdn.net/kkForWork/article/details/47066471</guid><author>kkForWork</author><pubDate>Sun, 26 Jul 2015 12:42:45 +0800</pubDate><description><![CDATA[转自 http://blog.sina.com.cn/s/blog_455b20c10100fmmb.html


问题陈述：有个需要动态更新（插入或删除）的数列L，现在需要随时获取到该数列的中位数，请设计相应的数据结构和算法。

 

算法：令L的中位数为m，用一个大顶堆存储数列L中不大于m的元素（即L按从小到大排列时的前半部分），用一个小顶堆存储数列L中不小于m的元素（即L按从小]]></description><category></category></item><item><title><![CDATA[操作系统内存管理之 内部碎片vs外部碎片]]></title><link>https://blog.csdn.net/kkForWork/article/details/47065793</link><guid>https://blog.csdn.net/kkForWork/article/details/47065793</guid><author>kkForWork</author><pubDate>Sun, 26 Jul 2015 10:20:09 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/kennyrose/article/details/7530330

“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用，是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生，原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题，因此内存分配器在保证空闲资源可用性方面扮演]]></description><category></category></item><item><title><![CDATA[统计1到n出现的1的个数（不能用字符串）]]></title><link>https://blog.csdn.net/kkForWork/article/details/46952743</link><guid>https://blog.csdn.net/kkForWork/article/details/46952743</guid><author>kkForWork</author><pubDate>Sun, 19 Jul 2015 09:50:43 +0800</pubDate><description><![CDATA[转http://blog.chinaunix.net/uid-8615291-id-2456793.html




题目：

 

实现函数int func(unsigned n)，其中n为正整数，返回从1到n（包含1和n）之间出现的1的个数，如func(13)=6，func(9)=1。（注意：不能将整数转化为字符串，剑指offer中的方法不能用）

 

分析：
]]></description><category></category></item><item><title><![CDATA[多重继承和虚继承的内存布局]]></title><link>https://blog.csdn.net/kkForWork/article/details/46866935</link><guid>https://blog.csdn.net/kkForWork/article/details/46866935</guid><author>kkForWork</author><pubDate>Mon, 13 Jul 2015 19:48:24 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/littlehedgehog/article/details/5442430

多重继承和虚继承的内存布局
刺猬@http://blog.csdn.net/littlehedgehog
 
  
 
    这篇文章主要讲解虚继承的C++对象内存分布问题，从中也引出了dynamic_cast和static_cast本质区别、虚函数表的格式]]></description><category></category></item><item><title><![CDATA[leetcode之 median of two sorted arrays]]></title><link>https://blog.csdn.net/kkForWork/article/details/46766225</link><guid>https://blog.csdn.net/kkForWork/article/details/46766225</guid><author>kkForWork</author><pubDate>Sun, 05 Jul 2015 22:05:45 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/yutianzuijin/article/details/11499917/

首先假设数组A和B的元素个数都大于k/2，我们比较A[k/2-1]和B[k/2-1]两个元素，这两个元素分别表示A的第k/2小的元素和B的第k/2小的元素。这两个元素比较共有三种情况：>、
证明也很简单，可以采用反证法。假设A[k/2-1]大于合并之后的第k小值，我们]]></description><category></category></item><item><title><![CDATA[计数排序、桶排序和基数排序]]></title><link>https://blog.csdn.net/kkForWork/article/details/46761907</link><guid>https://blog.csdn.net/kkForWork/article/details/46761907</guid><author>kkForWork</author><pubDate>Sun, 05 Jul 2015 10:49:56 +0800</pubDate><description><![CDATA[转自http://blog.csdn.net/quietwave/article/details/8008572


计数排序

当输入的元素是 n 个 0 到 k 之间的整数时，它的运行时间是 Θ(n + k)。计数排序不是比较排序，排序的速度快于任何比较排序算法。
由于用来计数的数组C的长度取决于待排序数组中数据的范围（等于待排序数组的最大值与最小值的差加上1），这使得计数排序对于]]></description><category></category></item></channel></rss>