《劍指offer名題精講2版》p39
題目侷限性:
輸入陣列的長度0-200,陣列內每個元素都在0-200之間。
解決思路:
使陣列的值與陣列下標一一對應。
書中原始碼:
#include#include#define false 0
#define true 1
int dup(int num,int len,int *dup)
for(i=0;ilen-1)
}for(i=0;i自己動手寫一下(未完待續):
#include#include#include#define false 0
#define true 1
#define len(x) (sizeof(x)/sizeof(int))
int dup(int num,int len,int *dup)
for(i=0;ilen-1)
}for(i=0;itmp=num[i];
num[i]=num[tmp];
num[tmp]=tmp;
} }return false;
}int f(int a,char buf,int len)
*/ for(i=0;iprintf("\n");
for(i=0;ireturn sum;
}int main(int argc, const char *argv)
; //int a[7];
//int a[20];//發現浪費了空間,需求動態分配空間。
int *a;
int ret=0;
char buf[20];
char *s;
/*輸入一
乙個乙個輸入陣列元素
for(ret=0;ret<7;ret++)
相同寫法
scanf("%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6]);
*/ /*輸入二
//輸入字串12345放陣列a裡
scanf("%s",buf);
//printf("%d\n",atol(a));//用庫函式轉換成乙個int
//printf("%s\n",buf+1);//移動了1位元組(1個char型數的大小)
f(a,buf,len(a));//呼叫函式,分割字元填入陣列
*/ //輸入三,不定長數字,#結束,建立對應長度的陣列
//輸入四,不定長字串,#結束,建立對應長度的陣列
for(ret=0;ret<7;ret++)
//輸出一,查出第乙個重複出現的數字
//dup(a,len(a),&ret);
//printf("%d\n",ret);
//輸出二,查出陣列裡所有重複的值
return 0;
}
筆試題 第乙個只出現一次的字元
題目 在字串中找出第乙個只出現一次的字元,如輸入 abaccdeff 則輸出 b 分析 題目中要求第乙個只出現一次的字元,那麼就跟字元出現的次數有關。我們考慮如何統計字元出現的次數,然後找出第乙個次數為1的那個字元。這裡我們需要乙個資料容器來儲存字元出現次數,並且能夠通過字元找出其相對應的次數。雜湊...
排序陣列查詢第乙個和最後乙個位置
描述 給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。你的演算法時間複雜度必須是 o log n 級別。如果陣列中不存在目標值,返回 1,1 package leetcoder author zhaoliang program ne...
經典面試題之兩個鍊錶的第乙個公共結點
題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。我們先看下邊這個圖 對於單向鍊錶而言,從兩個單鏈表第乙個公共結點開始,之後它們的所有結點都是重合的,不可能再出現分叉。對於題目,我們最簡單的想法就是在第乙個鍊錶上順序遍歷每個結點,每遍歷到乙個結點時,在第二個鍊錶上順序遍歷每個結點,直到找到公共頂點,...