原创 面試題之又見排序分析---mark沒看

又見排序分析 原題 給定大小爲n的數組A,A中的元素有正有負。請給出方法,對其排序,保證: 負數在前面,正數在後面 正數之間相對位置不變 負數之間相對位置不變 能夠做到時間複雜度爲O(n),空間複雜度爲O(1)麼?

原创 Google面試題之經典雞蛋問題

還是有些暈。。。 Q: 只給你二個雞蛋,你能上100層樓,你想知道雞蛋的硬度。雞蛋可能很硬或很脆弱,如果雞蛋從第m層掉下而沒破裂,而從第m+1層掉下就破裂了,那麼這個雞蛋的硬度就是m。你需要找出這個m和在最壞情況下最少試驗次數。(經典雞

原创 面試題之燈

  燈分析 原題 有100盞燈,依次編號1-100,初始都是關着的。第1次遍歷,打開全部的燈;第2次遍歷,關掉第2盞、第4盞等被2整除的燈;第3次打開被3整除的燈;第i次,對被i整除的燈做如下操作 如果燈開着,就關掉 如果燈

原创 面試題之中位數的應用POJ1723

http://poj.org/problem?id=1723 這種難度的題也可以用來當面試題。 題意:一些士兵站在矩陣的一些方格內,現要把他們移動到一橫排,並連續地排成一隊,問最少需要移動多少步。N<=10000,-10000<=X,Y<

原创 動態規劃介紹

動態規劃 終於來到了算法設計思想中最難,也最有趣的這部分,在去年的google筆試中,7道算法設計題有2道動態規劃(Dynamic Programming)。看了這麼久的算法,這部分也是唯一感覺到了比較難的地方,從這篇文章開始,

原创 TCP編程的一個小例子

TCP程序的服務器端與客戶端的流程圖 例子:服務器端等待客戶端連接,若連接成功,則用戶可以通過客戶端向服務器端發送任意字符串,服務器端在收到字符串後,輸出相關信息,在把接受到的字符串重新發生給客戶端。客戶端收到後顯示在屏幕上 服務器端:

原创 一個LINUX下管道通信的例子

client端------現在有問題........... #include <unistd.h> #include <fcntl.h> #include <limits.h> #include <sys/types.h> #includ

原创 面試題之找數字分析續

找數字續分析 原題 一個數組A,數字出現的情況,只有以下三種: 一些數字只出現一次 一些數字出現兩次 只有一個數字出現三次 請給出方法,找到出現三次的數字。 分析 這個題目和“找數字”的題目比較相似,但是解法上類似

原创 面試題之子序列分析

子序列分析 原題 給定長度爲n的整數數列:a0,a1,..,an-1,以及整數S。這個數列會有連續的子序列的整數總和大於S的,求這些數列中,最小的長度。 分析 如果只是像題目這樣的描述,沒有強調正數,可以採用O(n^2)的方法。

原创 面試題之樹的高度分析

樹的高度分析 原題 有一個棵樹,不一定是二叉樹,有n個節點,編號爲0到n-1。有一個數組A,數組的索引爲0到n-1,數組的值A[i]表示節點i的父節點的id,根節點的父節點id爲-1。給定數組A,求得樹的高度。 分析 這個題目

原创 面試題之找數字分析

找數字分析 原題 數組A中,除了某一個數字x之外,其他數字都出現了三次,而x出現了一次。請給出最快的方法,找到x。 分析 乍一看這個題目,不少同學立馬給出了答案:異或。但舉個例子,就會發現,異或是行不通的,一般的方法是利用異或

原创 Linux多線程的一個小例子

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #define MAX_COUNT 9 pthread_mutex_t mu

原创 面試題之此起彼伏

此起彼伏分析 原題 有這樣一個數組A,大小爲n,相鄰元素差的絕對值都是1.如:A={4,5,6,5,6,7,8,9,10,9}。現在,給定A和目標整數t,請找到t在A中的位置。除了依次遍歷,還有更好的方法麼? 現在我們來看看今天的題目

原创 Linux下使用Mysql

一.連接MySQL數據庫 一個最簡單的程序示例: #include <stdio.h> #include "mysql.h" int main() { MYSQL mysql; int t, r; mysql_

原创 一道C語言測試題

#include <stdio.h> #include <string.h> int main() { char buf[256]; int len; len = snprintf(buf, 8, "%s",