青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
(說明:這些題就不是什么花樣了,考的是你的基礎知識怎么樣。再聰明而沒有實學的人都將會被這些題所淘汰。) 
1.鏈表和數(shù)組的區(qū)別在哪里?

ANSWER 主要在基本概念上的理解。但是最好能考慮的全面一點,現(xiàn)在公司招人的競爭可能就在細節(jié)上產(chǎn)生,誰比較仔細,誰獲勝的機會就大。

1)數(shù)組在內(nèi)存中是逐個存放的,也就是說倘若數(shù)組的第一個元素在地址A,則數(shù)組第二個元素就在地址A+1。而鏈表則不是,鏈表每個節(jié)點沒有相對固定的位置關系。某個節(jié)點在地址A其后的節(jié)點不一定是A+1,而在內(nèi)存的其他空閑區(qū)域,呈現(xiàn)一種隨機的狀態(tài)。

2)數(shù)組一旦顯式的被申明后,其大小就固定了,不能動態(tài)進行擴充。而鏈表則可以,可以動態(tài)生成節(jié)點并且添加到已有的鏈表后面。

3) …… (大家一起想想)

 

2.編寫實現(xiàn)鏈表排序的一種算法。說明為什么你會選擇用這樣的方法?

ANSWER 鏈表通常是插入排序,為什么呢?在數(shù)組中插入排序實現(xiàn)時會大量的移動數(shù)據(jù)從而刪除位置不正確的元素,這是順序表刪除操作的低效性。從數(shù)學的角度,順序表 (即數(shù)組)的刪除操作是O(n).鏈表就不同,由于其存儲位置的不固定性,其刪除固定位置的元素只需要O(1)的時間,所以整體性能上獲得比較大的提高。

 

3.編寫實現(xiàn)數(shù)組排序的一種算法。說明為什么你會選擇用這樣的方法?

ANSWER 排序算法非常成熟了,實際上排序是研究算法的很有效例子。回答的時候盡量找一些比較有技術性的算法,比如堆排序或者快速排序,如果寫冒泡什么的,別人都會 寫,也就顯示不出你的優(yōu)秀了。當然一定要注意給定的條件。不至于三個數(shù)讓你排序,你搞個快排,這就有點“宰牛刀殺雞”了。

 

4.請編寫能直接實現(xiàn)strstr()函數(shù)功能的代碼。

ANSWER 首先要知道strstr()這個函數(shù)是干什么的,自己去查查C語言的書,一般附錄后面會給出C語言標準庫的。這個題目實際上也是一類重要的算法門類,叫做 “字符串的模式匹配”。它有很多的現(xiàn)成算法,其中最簡單的要數(shù)樸素的匹配算法,還有KMP,BM這些高級算法,筆試估計是來不及寫的。下面給出樸素的匹配 算法。

int stringMatching(char* pattern,char* text)

{

         int pLen = strlen(pattern),tLen = strlen(text);

         for(int i = 0;i <= tLen - pLen;i++){

      for(int j = 0; pattern[j] == text[i + j];j++);

                   if(j == pLen) return i;

         }

         return -1; // Not found

}

 

 

5.編寫反轉字符串的程序,要求優(yōu)化速度、優(yōu)化空間。

ANSWER:循環(huán)當然是最簡單的。

void reverseString(char* str)

{

         int n = strlen(str);

         for(int i = 0;i < n/2;i++)

         {int t = str[i];str[i] = str[n - i - 1];str[n - i - 1] = t;}

}

 

6.在鏈表里如何發(fā)現(xiàn)循環(huán)鏈接?

ANSWER: 顯然只需要判斷是否存在回溯指針就行了。判斷,是否存在某個節(jié)點的后繼指向其前面位置的指針。具體實現(xiàn)的時候可以模仿DFS中的訪問標志數(shù)組的方法,我們可以在struct node中設計該節(jié)點的一個訪問標志位,設為visited 。每訪問一個節(jié)點就將其visited域置為1。這樣的話,一次遍歷下來,如果發(fā)現(xiàn)某個后續(xù)節(jié)點的visited域已經(jīng)是1,那么就可以判定其存在循環(huán)鏈接。具體的代碼就不寫了,太簡單了。

bool findloop(node *head)

 { node *pf=head;

   node *ps=head->next;

   while(pf!=NULL&&ps!=NULL&&pf->next!=NULL&&ps->next!=NULL)

   { pf=pf->next;

     ps=ps->next->next;

     if(pf==ps)return true;

   }

return false;

 }


7.寫一個函數(shù),檢查字符是否是整數(shù),如果是,返回其整數(shù)值。(或者:怎樣只用4行代碼編寫出一個從字符串到長整形的函數(shù)?)

分析 :簡單!掃描一遍,每次生成對應整數(shù)的最高位。一行也就搞定了!

long convert(char* s_string,long s_integer)

{

for(int sLen = strlen(s_string), i = 0; i < sLen;s_integer += (s_string[i++] - '0')*pow(10,sLen - i - 1));

         return s_integer;

}

 

8.給出一個函數(shù)來輸出一個字符串的所有排列。

ANSWER 簡單的回溯就可以實現(xiàn)了。當然排列的產(chǎn)生也有很多種算法,去看看組合數(shù)學,還有逆序生成排列和一些不需要遞歸生成排列的方法。印象中Knuth的< TAOCP>第一卷里面深入講了排列的生成。這些算法的理解需要一定的數(shù)學功底,也需要一定的靈感,有興趣最好看看。

void permStr(char* str,int i)

{

         if(i == strlen(str) - 1)

           printf("%s\n",str);

         else

         {

            for(int j = i;j < strlen(str);j++)

            {

                      swap(&str[i],&str[j]);

                      permStr(str,i + 1);

                      swap(&str[i],&str[j]);

            }

         }

}

 

9.給出一個函數(shù)來復制兩個字符串A和B。字符串A的后幾個字節(jié)和字符串B的前幾個字節(jié)重疊。

anSwer  記住,這種題目往往就是考你對邊界的考慮情況。編程除了技術上的熟練以外,細心也是非常重要的。其實很多編程的大師可能并不是有特別的技術,往往就是他們 非常的耐心和細心,記住:編程是計算機科學中最基本的工作,它是最容易去掌握的,耐心點,細心點你一定能夠學好它。代碼看下面:

char* myStrcpy(char* s,char* a,char* b,char n)

{

int aLen = strlen(a),bLen = strlen(b);

         if(n > aLen || n > bLen)

                   return NULL; // Error

         for(int i = 0;i < aLen + bLen - n;i++)

                   if(i < aLen - n) s[i] = a[i];

                   else s[i] = b[i - aLen + n];

                   s[i] = '\0';

                   return s;

}

 

10.怎樣編寫一個程序,把一個有序整數(shù)數(shù)組放到二叉樹中?

ANSWER :二叉搜索樹的建樹方法。簡單的遞歸結構。實在不理解,干脆記下來好了。關于樹的算法設計一定要聯(lián)想到遞歸,因為樹本身就是遞歸的定義。這里的遞歸應該是 理所當然的吧,不過,學會把遞歸改稱非遞歸也是一種必要的技術。畢竟,遞歸會造成棧溢出,關于系統(tǒng)底層的程序中不到非不得以最好不要用。但是對某些數(shù)學問 題,就一定要學會用遞歸去解決。

void insertNode(bTree** root,int val)

{

    bTree* newNode = (bTree* ) malloc(sizeof(bTree));

         newNode->data = val;

        newNode->lChild = NULL;

        newNode->rChild = NULL;

      if(!(*root))

            *root = newNode;

    else if(newNode->data < (*root)->data)

          insertNode(&(*root)->lChild,val);

         else

          insertNode(&(*root)->rChild,val);  

}

 

11.怎樣從頂部開始逐層打印二叉樹結點數(shù)據(jù)?請編程。

ANSWER 二叉樹的層次遍歷沒什么好說的,如果你不會還是早點把基礎復習一下。一個勁的往后學,才會發(fā)現(xiàn)原來最最重要的還是以前最基礎最簡單的。

typedef struct myBinaryTree

{

         int data;

         struct myBinaryTree* lChild;

         struct myBinaryTree* rChild;

} bTree;

 

struct myQueen

{

         bTree* que[QSIZE];

         int front;

         int rear;

} binQueue; // Global var

 

void initQueue()

{

         // front == real makes the queue empty

         binQueue.rear = QSIZE - 1;

         binQueue.front = binQueue.rear;

         for(int i = 0;i < QSIZE;i++)

           binQueue.que[i] = NULL;

}

 

int enQueue(bTree* newNode)

{

         if(binQueue.front >= 1)

         binQueue.que[binQueue.front--] = newNode;

        

         else return 0;

         return 1;

}

 

bTree* deQueue()

{

         int t;

      if(binQueue.front != binQueue.rear){

         t = binQueue.rear;

         binQueue.rear--;

    return binQueue.que[t];

         }

         else return NULL;

}

int levelTraversal(bTree** root)

{

         initQueue();

         bTree* lc = (bTree* ) malloc(sizeof(bTree));

         bTree* rc = (bTree* ) malloc(sizeof(bTree));

         bTree* p = (bTree* ) malloc(sizeof(bTree));

         if((!lc) || (!rc) || (!p)){

         printf("OVERFLOW\n");

         exit(OVERFLOW); // Allocation Error

         }

         p = *root;

         if(!p) {

                   printf("Empty Tree,build it first !\n");

             return 0;

         }

         enQueue(p); // enqueue the root of the tree

      while (binQueue.front != binQueue.rear){

       p = deQueue();

            printf("%d ",p->data);

            lc = p->lChild;

            rc = p->rChild;

            if(lc != NULL)

                      enQueue(lc);

          if(rc != NULL)

                      enQueue(rc);

         }

         printf("\n");

         return 1;

}

 

12.怎樣把一個鏈表掉個順序(也就是反序,注意鏈表的邊界條件并考慮空鏈表)?

ANSWER 前面說了,最基本的是最重要的。線性數(shù)據(jù)結構是學習數(shù)據(jù)結構的入門,一定要掌握好。微軟的題目還是跟國內(nèi)的公司不一樣。國內(nèi)的一上來就是些概念,跟考歷史一樣。

typedef struct listNode

{

         struct listNode* link;

         int data;

}node;

 

node* getNode(node* newNode,int val)

{

    if(!newNode)

                   exit(OVERFLOW);

         newNode->link = NULL;

         newNode->data = val;

         return newNode;

}

/*

  Insert a new node after p

*/

int insertNode(node* prev,node* newNode)

{

         if(!prev) return 0;

         newNode->link = prev->link;

         prev->link = newNode;

    return 1;

}

/*

 delete the node after the node prev

*/

int eraseNode(node*prev,node* p)

{

         if(p == NULL)

                   return 0;

         prev->link = p->link;

         free(p);

         return 1;

}

void buildList(node* head)

{

         int value;

         node* newNode = (node* ) malloc(sizeof(node));

         node* p = head;

         scanf("%d",&value);

         while(value != -1){

         newNode = getNode(newNode,value);

         insertNode(p,newNode);

         p = p->link;

         newNode = (node* ) malloc(sizeof(node));

         scanf("%d",&value);

         }

}

 

int reverseList(node* head)

{

         node* p = head->link;

         node* q = p->link;

         if(p == NULL){

         printf("The list is empty!\n");

         return 0;

         }

         while(q != NULL){

    node* newNode = (node* ) malloc(sizeof(node));

         newNode = getNode(newNode,q->data);

         insertNode(head,newNode);

         eraseNode(p,q);

         q = (node* ) malloc(sizeof(node)); // Allocate again

         q = p->link;

         }

         p->link = NULL;

      return 1;

}

http://blog.chinaunix.net/u2/76292/showart_1388527.html

posted on 2009-12-06 23:31 chatler 閱讀(802) 評論(1)  編輯 收藏 引用 所屬分類: Algorithm

FeedBack:
# re: 微軟面試中簡單的算法題目(轉)
2009-12-06 23:33 | chatler
1.燒一根不均勻的繩子,從頭燒到尾總共需要 1 個小時,問如何用燒繩子
的方法來確定半小時的時間呢?
2.10 個海盜搶到了100 顆寶石,每一顆都一樣大小且價值連城。他們決定
這么分:
(1)抽簽決定自己的號碼(1~10);
(2)首先,由1 號提出分配方案,然后大家表決,當且僅當超過半數(shù)的人
同意時,按照他的方案進行分配,否則將被扔進大海喂鯊魚;
(3)如果1 號死后,再由2 號提出分配方案,然后剩下的4 個人進行表決,
當且僅當超過半數(shù)的人同意時,按照他的方案進行分配,否則將被扔入大海喂鯊
魚;
(4)依此類推??
條件:每個海盜都是很聰明的人,都能很理智地做出判斷,從而做出選擇。
問題:第一個海盜提出怎樣的分配方案才能使自己的收益最大化?
3.為什么下水道的蓋子是圓的?
4.中國有多少輛汽車?
5.你讓工人為你工作7 天,回報是一根金條,這根金條平分成相連的7 段,
你必須在每天結束的時候給他們一段金條。如果只允許你兩次把金條弄斷,你如
何給你的工人付費?
6.有一輛火車以每小時15 公里的速度離開北京直奔廣州,同時另一輛火車
以每小時20 公里的速度從廣州開往北京。如果有一只鳥,以30 公里每小時的速
度和兩輛火車同時啟動,從北京出發(fā),碰到另一輛車后就向相反的方向返回去飛,
就這樣依次在兩輛火車之間來回地飛,直到兩輛火車相遇。請問,這只鳥共飛行
了多長的距離?
7.你有兩個罐子以及50 個紅色彈球和50 個藍色彈球,隨機選出一個罐子,
隨機選出一個彈球放入罐子,怎樣給出紅色彈球最大的選中機會?在你的計劃
里,得到紅球的幾率是多少?
8.想像你站在鏡子前,請問,為什么鏡子中的影像可以左右顛倒,卻不能
上下顛倒呢?
9.如果你有無窮多的水,一個3 公升的提捅,一個5 公升的提捅,兩只提
捅形狀上下都不均勻,問你如何才能準確稱出4 公升的水?
10.你有一桶果凍,其中有黃色、綠色、紅色三種,閉上眼睛抓取同種顏色
的兩個。抓取多少次就可以確定你肯定有兩個同一顏色的果凍?
11.連續(xù)整數(shù)之和為1000 的共有幾組?
12.從同一地點出發(fā)的相同型號的飛機,可是每架飛機裝滿油只能繞地球飛
半周,飛機之間可以加油,加完油的飛機必須回到起點。問至少要多少架次,才
能滿足有一架繞地球一周。
參考答案:
1.兩邊一起燒。
2.96,0,1,0,1,0,1,0,1,0。
3.因為口是圓的。
4.很多。
5.分1,2,4。
6.6/7 北京到廣州的距離。
7.100%。
8.平面鏡成像原理(或者是“眼睛是左右長的”)。
9.3 先裝滿,倒在5 里,再把3 裝滿,倒進5 里。把5 里的水倒掉,把3 里
剩下的水倒進5 里,再把3 裝滿,倒進5 里,ok!
10.一次。
11.首先1000 為一個解。連續(xù)數(shù)的平均值設為x,1000 必須是x 的整數(shù)倍。
假如連續(xù)數(shù)的個數(shù)為偶數(shù)個,x 就不是整數(shù)了。x 的2 倍只能是5,25,125 才行。
因為平均值為12.5,要連續(xù)80 個達不到。125/2=62.5 是可以的。即62,63,61,
64,等等。連續(xù)數(shù)的個數(shù)為奇數(shù)時,平均值為整數(shù)。1000 為平均值的奇數(shù)倍。
1000=2×2×2×5×5×5;x 可以為2,4,8,40,200 排除后剩下40 和200 是
可以的。所以答案為平均值為62.5,40,200,1000 的4 組整數(shù)。
12.答案是5 架次。一般的解法可以分為如下兩個部分:
(1)直線飛行
一架飛機載滿油飛行距離為1,n 架飛機最遠能飛多遠?在不是兜圈沒有迎
頭接應的情況,這問題就是n 架飛機能飛多遠?存在的極值問題是不要重復飛
行,比如兩架飛機同時給一架飛機加油且同時飛回來即可認為是重復,或者換句
話說,離出發(fā)點越遠,在飛的飛機就越少,這個極值條件是顯然的,因為n 架飛
機帶的油是一定的,如重復,則浪費的油就越多。比如最后肯定是只有一架飛機
全程飛行,注意“全程”這兩個字,也就是不要重復的極值條件。如果是兩架飛
機的話,肯定是一架給另一架加滿油,并使剩下的油剛好能回去,就說第二架飛
機帶的油耗在3 倍于從出發(fā)到加油的路程上,有三架飛機第三架帶的油耗在5
倍于從出發(fā)到其加油的路程上,所以n 架飛機最遠能飛行的距離為s=1+1/3+?
+1/(2n+1)這個級數(shù)是發(fā)散的,所以理論上只要飛機足夠多最終可以使一架飛
機飛到無窮遠,當然實際上不可能一架飛機在飛行1/(2n+1)時間內(nèi)同時給n?1
個飛機加油。
(2)可以迎頭接應加油
一架飛機載滿油飛行距離為1/2,最少幾架飛機能飛行距離1?也是根據(jù)不
要重復飛行的極值條件,得出最遠處肯定是只有一架飛機飛行,這樣得出由1/2
處對稱兩邊1/4 肯定是一架飛機飛行,用上面的公式即可知道一邊至少需要兩架
飛機支持,(1/3+1/5)/2>1/4(左邊除以2 是一架飛機飛行距離為1/2),但
是有一點點剩余,所以想像為一個滑輪(中間一個飛機是個繩子,兩邊兩架飛機
是個棒)的話,可以滑動一點距離,就說加油地點可以在一定距離內(nèi)變動(很容
易算出來每架飛機的加油地點和加油數(shù)量,等等)  回復  更多評論
  
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜亚洲性色视频| 亚洲第一福利在线观看| 欧美一区二区三区免费在线看 | 欧美三区在线视频| 欧美日韩八区| 国产精品国产精品| 国产精品拍天天在线| 国产亚洲福利| 91久久精品www人人做人人爽 | 久久久精品五月天| 欧美第一黄网免费网站| 国产精品成av人在线视午夜片| 国产精品免费网站在线观看| 国产一区二区三区久久久久久久久| 在线精品视频免费观看| 国产午夜亚洲精品不卡| 亚洲久久成人| 欧美三区在线| 激情校园亚洲| 一本色道婷婷久久欧美| 欧美一二区视频| 猛干欧美女孩| 亚洲视频一区| 蜜桃久久av| 国产精品五区| 日韩一级精品视频在线观看| 午夜欧美精品久久久久久久| 欧美不卡在线视频| 亚洲一区二区免费视频| 欧美不卡高清| 黄色成人精品网站| 亚洲综合导航| 亚洲第一精品福利| 99国产精品国产精品久久 | 中文国产成人精品久久一| 久久九九热re6这里有精品| 欧美三区视频| 日韩亚洲国产欧美| 免费日韩一区二区| 午夜日本精品| 国产精品日韩在线观看| 日韩午夜激情电影| 欧美成人午夜影院| 久久精品人人做人人爽| 国产日产精品一区二区三区四区的观看方式 | 美女诱惑一区| 国内外成人免费激情在线视频| 亚洲性视频网站| 国产一区二区精品| 午夜在线精品偷拍| 99热在线精品观看| 欧美国产精品专区| 亚洲欧美另类在线观看| 欧美日韩亚洲高清一区二区| 91久久久久久| 亚洲国产精品成人| 免费久久久一本精品久久区| 精品88久久久久88久久久| 久久精品一区二区三区不卡| 亚洲欧美综合精品久久成人| 国产精品视频免费一区| 亚洲欧美一级二级三级| 亚洲一区999| 国产伦精品一区二区三区免费迷| 亚洲一本视频| 亚洲无线视频| 国产日韩一区二区三区在线| 久久久91精品国产一区二区精品| 性8sex亚洲区入口| 久久国产精品亚洲77777| 欧美一区午夜视频在线观看| 亚洲一区二区三区精品在线观看| 国产精品qvod| 久久成人资源| 久久精品成人| 亚洲黑丝一区二区| 亚洲国产一区二区三区青草影视 | 91久久精品网| 亚洲免费成人av| 国产精品免费在线| 久久精品三级| 欧美国产国产综合| 欧美一二三视频| 久久综合一区二区| 亚洲香蕉在线观看| 欧美在线999| 99精品欧美一区二区蜜桃免费| 一本一本久久a久久精品牛牛影视| 国产乱码精品一区二区三区不卡| 另类春色校园亚洲| 欧美日韩国产在线播放网站| 欧美一区二区三区四区在线| 久久久免费精品视频| 亚洲最新合集| 久久精品国产清高在天天线| avtt综合网| 久久精品国产亚洲一区二区三区| 亚洲精品久久久久久久久| 亚洲图片在线| 亚洲精品国产欧美| 欧美伊人久久| 正在播放亚洲| 久久综合伊人77777| 性做久久久久久| 欧美激情在线观看| 久久深夜福利免费观看| 欧美日韩中文精品| 亚洲成色www久久网站| 国产毛片一区| 一区二区冒白浆视频| 亚洲国产一区二区精品专区| 午夜老司机精品| 亚洲无亚洲人成网站77777| 久久综合伊人77777尤物| 久久激情视频久久| 国产精品视频| 国产精品99久久久久久久久久久久| 亚洲国产精品精华液2区45 | 欧美伦理视频网站| 欧美电影在线观看完整版| 国产日韩专区在线| 在线午夜精品| 一区二区国产日产| 美女主播精品视频一二三四| 久久精品亚洲一区| 国产乱码精品一区二区三区五月婷| 亚洲伦理在线免费看| 亚洲精品国产欧美| 欧美国产日韩一区二区| 久久五月天婷婷| 国产亚洲电影| 欧美国产精品日韩| 在线精品视频免费观看| 久久精品欧美| 久久免费99精品久久久久久| 国产日产亚洲精品| 性8sex亚洲区入口| 久久免费视频网站| 狠狠色丁香久久综合频道| 欧美一区影院| 久久免费高清| 亚洲激情在线观看| 欧美激情亚洲一区| 亚洲精品日韩激情在线电影| 99成人在线| 欧美午夜宅男影院在线观看| 亚洲午夜女主播在线直播| 午夜精品视频在线| 国产日韩欧美在线播放不卡| 久久国内精品视频| 亚洲成人自拍视频| 一区二区av| 国产精品色午夜在线观看| 欧美在线亚洲综合一区| 欧美a级片网| 一区二区三区日韩| 国产欧美日韩不卡免费| 久久久久国产一区二区| 亚洲精品乱码久久久久久| 亚洲欧美久久久久一区二区三区| 国产乱码精品一区二区三区五月婷| 久久久久国产精品人| 最新成人av在线| 亚洲欧美精品伊人久久| 在线观看日韩一区| 欧美日韩综合视频| 久久精品一本久久99精品| 亚洲国产经典视频| 小辣椒精品导航| 亚洲精品国偷自产在线99热| 国产精品国产三级国产a| 久久色在线播放| 亚洲图片欧洲图片av| 欧美承认网站| 久久成人免费日本黄色| 亚洲精品一二| 好吊妞**欧美| 国产精品久久久久一区二区三区 | 国产精品v日韩精品v欧美精品网站| 欧美一区二区女人| 亚洲毛片在线观看| 美女久久网站| 欧美一区二区三区在线观看视频| 91久久香蕉国产日韩欧美9色| 国产精品毛片一区二区三区| 男女视频一区二区| 久久国产天堂福利天堂| 亚洲四色影视在线观看| 亚洲大片免费看| 久久久久久久综合| 亚洲欧美中文日韩v在线观看| 亚洲欧洲日本mm| 好吊色欧美一区二区三区四区 | 欧美伊人久久| 91久久黄色| 国产欧美日韩亚洲精品| 一区二区三区四区五区精品| 毛片基地黄久久久久久天堂| 亚洲淫性视频| 一区二区欧美视频|