<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ju136的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ju136</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ju136]]></copyright><item><title><![CDATA[利用函数来获得本机所有的端口]]></title><link>https://blog.csdn.net/ju136/article/details/46969229</link><guid>https://blog.csdn.net/ju136/article/details/46969229</guid><author>ju136</author><pubDate>Mon, 20 Jul 2015 15:46:59 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 

#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "ws2_32.lib")

/*
typedef enum
{
	TCP_TABLE_BASIC_LISTENER,
	TCP_T]]></description><category></category></item><item><title><![CDATA[Windws获得所有的端口列表]]></title><link>https://blog.csdn.net/ju136/article/details/46954881</link><guid>https://blog.csdn.net/ju136/article/details/46954881</guid><author>ju136</author><pubDate>Sun, 19 Jul 2015 14:52:32 +0800</pubDate><description><![CDATA[#include  
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

BOOL FindFirstFileExists(LPCTSTR lpPath, DWORD dwFilter)
{
	WIN32_FIND_DATA fd;
	HANDLE hFind = FindFirstFi]]></description><category></category></item><item><title><![CDATA[面试题整理-整数的n次方]]></title><link>https://blog.csdn.net/ju136/article/details/23657693</link><guid>https://blog.csdn.net/ju136/article/details/23657693</guid><author>ju136</author><pubDate>Mon, 14 Apr 2014 09:37:48 +0800</pubDate><description><![CDATA[题意：求一个整数的正整数次方。]]></description><category></category></item><item><title><![CDATA[两个有序数组，寻找第k小的数]]></title><link>https://blog.csdn.net/ju136/article/details/23377963</link><guid>https://blog.csdn.net/ju136/article/details/23377963</guid><author>ju136</author><pubDate>Thu, 10 Apr 2014 19:48:56 +0800</pubDate><description><![CDATA[题意非常简单。
就是给这两个数组A和B，]]></description><category></category></item><item><title><![CDATA[RedHat 利用Createrepo创建本地源]]></title><link>https://blog.csdn.net/ju136/article/details/9926217</link><guid>https://blog.csdn.net/ju136/article/details/9926217</guid><author>ju136</author><pubDate>Mon, 12 Aug 2013 15:05:15 +0800</pubDate><description><![CDATA[直接提供一个脚本。


#!/bin/bash


if [[ $# -eq 0 ]]; then
    echo "Please input just one args."
    exit 0
fi


mkdir -p /mnt/$1/x86_64/
cp -rf /tmp/debs/* /mnt/$1/x86_64/
createrepo /mnt/$1/
]]></description><category></category></item><item><title><![CDATA[编译c++ Rest api示例]]></title><link>https://blog.csdn.net/ju136/article/details/8696134</link><guid>https://blog.csdn.net/ju136/article/details/8696134</guid><author>ju136</author><pubDate>Wed, 20 Mar 2013 14:01:34 +0800</pubDate><description><![CDATA[好不容易从网上找了一个C++写Rest API的示例，一开始总是遇到编译出错。这里记录一下过程。
$ git clone git://github.com/JiYou/NipunTalukdarExamples.git



下载代码之后，首先需要安装libcurl.
到http://curl.haxx.se/download.html 这里下载代码。
比如curl-7.29.0.t]]></description><category></category></item><item><title><![CDATA[MySQL用户添加]]></title><link>https://blog.csdn.net/ju136/article/details/8185987</link><guid>https://blog.csdn.net/ju136/article/details/8185987</guid><author>ju136</author><pubDate>Thu, 15 Nov 2012 11:07:33 +0800</pubDate><description><![CDATA[我的是Ubuntu-12.04。发现在MySQL中经常出现添加用户之后，要么只能本地登陆，要么只能远程登陆的蛋疼的情况。这里记录一下是如何操作的。
创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

如果想要让这个用户即可以本地登陆，也可以远程登陆。需要执行：
grant select,insert,update,dele]]></description><category></category></item><item><title><![CDATA[面试题整理-卡特兰数问题收集]]></title><link>https://blog.csdn.net/ju136/article/details/8161828</link><guid>https://blog.csdn.net/ju136/article/details/8161828</guid><author>ju136</author><pubDate>Thu, 08 Nov 2012 14:15:58 +0800</pubDate><description><![CDATA[首先说一下卡特兰数列，
H(n) = C(n, 2n) / (n+1) = (2n)!/(n!n!(n+1))
H(3) = 5;
 
题目1：
矩阵的乘法添加括号我们知道，A*B可以，但是并不表示B*A也可以。假设有N+1个矩阵相乘，不能交换次序。只能用添加括号的方法来修改乘积的次序。那么有多少种添加括号的方法。
H(n)种。
 
题目2：
出栈次序问题，一个栈，其进栈的序列是]]></description><category></category></item><item><title><![CDATA[The C Programming Language  第1章]]></title><link>https://blog.csdn.net/ju136/article/details/8123294</link><guid>https://blog.csdn.net/ju136/article/details/8123294</guid><author>ju136</author><pubDate>Wed, 07 Nov 2012 21:11:57 +0800</pubDate><description><![CDATA[1.1 概述
1、注意各种转义字符。
      以前从来没有注意过转义字符。有个很奇怪的问题是这样的。怎么手动输入一个'\0'字符。答案是Ctrl + @就可以输入一个'\0'结束符。
     比如一个简单的测试程序：
     
#include 

int main(void) {
    char str[100];
    while (scanf("%s", str) !=]]></description><category></category></item><item><title><![CDATA[面试题整理-最小没出现的整数]]></title><link>https://blog.csdn.net/ju136/article/details/8153274</link><guid>https://blog.csdn.net/ju136/article/details/8153274</guid><author>ju136</author><pubDate>Tue, 06 Nov 2012 16:16:35 +0800</pubDate><description><![CDATA[题目：
#面试题#给定一个无序的整数数组，怎么找到第一个大于0，并且不在此数组的最小整数。比如[1,2,0] 返回 3, [3,4,-1,1] 返回 2。最好能O(1)空间和O(n)时间。
来源http://weibo.com/lirenchen。
 
解法：
直接考虑这个问题是比较困难的。不如先换个简单的问题。
 
问题1
给定一个数组，长度为n，除a[0]以外，其他元素都是a[]]></description><category></category></item><item><title><![CDATA[面试题整理-两个栈实现队列]]></title><link>https://blog.csdn.net/ju136/article/details/8116123</link><guid>https://blog.csdn.net/ju136/article/details/8116123</guid><author>ju136</author><pubDate>Fri, 26 Oct 2012 16:44:07 +0800</pubDate><description><![CDATA[题目
用两个栈实现队列。
 
解法
准备两个栈。一个是input, 一个是output。
1、入栈：直接用input.push()
2、出栈：如果output非空。则利用output出栈。
                 如果output为空。则把input中的元素全部pop至output栈中。再利用output出栈。
 
说得简单一点就是从input栈进去，从ouput栈出去]]></description><category></category></item><item><title><![CDATA[面试题整理-从数组中删除指定元素]]></title><link>https://blog.csdn.net/ju136/article/details/8110219</link><guid>https://blog.csdn.net/ju136/article/details/8110219</guid><author>ju136</author><pubDate>Thu, 25 Oct 2012 12:32:27 +0800</pubDate><description><![CDATA[题目：

陈利人：#Facebook面试题#这是一个编程题，动手做做才会有体会。给一个数组和一个值，从数组中删除这个指定的值的所有出现，
并且返回新的数组的长度。size_t remove_elem(T* array, size_t len, T elem) {}。


解题：
首先可以想到的是，用额外用一个数组。遇到不同的元素，就把此元素拷至额外的数组中。
实际上，很快就可以发现]]></description><category></category></item><item><title><![CDATA[面试题整理-重建二叉树]]></title><link>https://blog.csdn.net/ju136/article/details/8107303</link><guid>https://blog.csdn.net/ju136/article/details/8107303</guid><author>ju136</author><pubDate>Wed, 24 Oct 2012 15:26:52 +0800</pubDate><description><![CDATA[题目
根据输入的前序遍历和中序遍历。重建一棵二叉树。


解法：
其实求解很简单。关键在于求出长度。假设函数的形式如同：
template
node *build(const T *pre, const T *mid, const int n);
那么pre[0]肯定是树的根，可以把中序遍历分为两部分。
一部分长度为A，另外一个长度为B。
那么pre的构成则是。pre[0]--]]></description><category></category></item><item><title><![CDATA[面试题整理-链表的几个微操]]></title><link>https://blog.csdn.net/ju136/article/details/8079715</link><guid>https://blog.csdn.net/ju136/article/details/8079715</guid><author>ju136</author><pubDate>Wed, 17 Oct 2012 08:59:03 +0800</pubDate><description><![CDATA[typedef struct _node
{
	int data;
	struct _node *next;
}node;





1 在链表未尾插入一个结点

node *push_back(node **head, int value) {
	node *p = *head;
	if (NULL == head) return NULL;

	if (NULL]]></description><category></category></item><item><title><![CDATA[面试题整理-合并数组]]></title><link>https://blog.csdn.net/ju136/article/details/8079238</link><guid>https://blog.csdn.net/ju136/article/details/8079238</guid><author>ju136</author><pubDate>Tue, 16 Oct 2012 22:48:47 +0800</pubDate><description><![CDATA[题意：


需要将A，B两个已排序数组合并至A数组中，假设A数组中的空间是够用的。那么请写这么一个合并函数。
当然，最后的结果也一定是有序的。

解题：
很好写。直接从后面开始向前合并


#include 
#include 
#include 
int a[4096];
int b[4096];

int _cmp(const void *a, const vo]]></description><category></category></item><item><title><![CDATA[面试题整理-空格变更]]></title><link>https://blog.csdn.net/ju136/article/details/8074928</link><guid>https://blog.csdn.net/ju136/article/details/8074928</guid><author>ju136</author><pubDate>Mon, 15 Oct 2012 22:22:19 +0800</pubDate><description><![CDATA[题目：
给定个字符串，把这个字符串中的空格更改成为%20。
假定这个字符串的空间是够用的。



解法
首先计算空格数目x与非空格数目y。
那么更改之后的字符串长度为3x+y；
计算出长度之后，再从尾部向前拷贝。

#include 
#include 
#include 

char *change(char *src) {
	int cnt_space = 0, cnt_]]></description><category></category></item><item><title><![CDATA[面试题整理-矩阵查找元素]]></title><link>https://blog.csdn.net/ju136/article/details/8074495</link><guid>https://blog.csdn.net/ju136/article/details/8074495</guid><author>ju136</author><pubDate>Mon, 15 Oct 2012 20:39:38 +0800</pubDate><description><![CDATA[需要在矩阵中查找元素。这个矩阵的排列如下：


每一行都是有序的。每一列都是有序的。
比如一个小矩阵。


10 30
20 80



现在，我们需要在一个这样N * M的矩阵中找到一个元素，并返回其位置。


思路
首先，这个题不太适合二分查找。因为并不能保证第二行的元素都一定比第一行的任意元素大。
所以应该是很难找到O(lgN)的算法。


每次都是取]]></description><category></category></item><item><title><![CDATA[面试题整理-数组做为平衡二叉树进行访问]]></title><link>https://blog.csdn.net/ju136/article/details/8068429</link><guid>https://blog.csdn.net/ju136/article/details/8068429</guid><author>ju136</author><pubDate>Sat, 13 Oct 2012 21:41:46 +0800</pubDate><description><![CDATA[题目：
现在有一个数组，是排好序的。如何将其按照平衡二叉树进行打印。需要按层次遍历。
思路很简单，就是需要确定一个算法去找左子结点与右子结点。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include]]></description><category></category></item><item><title><![CDATA[面试题整理-台阶问题]]></title><link>https://blog.csdn.net/ju136/article/details/8062078</link><guid>https://blog.csdn.net/ju136/article/details/8062078</guid><author>ju136</author><pubDate>Thu, 11 Oct 2012 21:11:01 +0800</pubDate><description><![CDATA[原题
 
测试链接
http://ac.jobdu.com/problem.php?cid=1039&pid=4
 
首先我们考虑上面链接中提出的问题：由于一次只能走两步，那么在到达n步的上一步。其只能是要么在(n-1)个台阶上。要么是在(n-2)个台阶上。
所以我们可以得到fn = fn-1 + fn-2;
f1 = 1; f2 = 2;
这里可以看出，同样也可以利用斐波那契数的]]></description><category></category></item><item><title><![CDATA[面试题整理-斐波那契数列]]></title><link>https://blog.csdn.net/ju136/article/details/8058805</link><guid>https://blog.csdn.net/ju136/article/details/8058805</guid><author>ju136</author><pubDate>Thu, 11 Oct 2012 12:44:21 +0800</pubDate><description><![CDATA[这个很好。其实也就是f(0) = 0, f(1) = 1. 然后 f(n) = f(n-1) +  f(n-2);
测试链接
http://ac.jobdu.com/problem.php?cid=1039&pid=3
求解
#include 
#include 

long long a[71];
void init(void) {
	a[0] = 0;
	a[1] = a[]]></description><category></category></item></channel></rss>