<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如何學好java

    如何學好java,其實很簡單,只要用心體會,慢慢積累!
    posts - 106, comments - 7, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    字符串+數組面試題

    Posted on 2011-04-28 17:56 哈希 閱讀(1313) 評論(0)  編輯  收藏 所屬分類: java面試題

    3.求子數組的最大和
    題目:
    輸入一個整形數組,數組里有正數也有負數。
    數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。
    求所有子數組的和的最大值。要求時間復雜度為O(n)。

    例如輸入的數組為1, -2, 3, 10, -4, 7, 2, -5,和最大的子數組為3, 10, -4, 7, 2,
    因此輸出為該子數組的和18。


    第10題
    翻轉句子中單詞的順序。
    題目:輸入一個英文句子,翻轉句子中單詞的順序,但單詞內字符的順序不變。

    句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。
    例如輸入“I am a student.”,則輸出“student. a am I”。


    第14題:
    題目:輸入一個已經按升序排序過的數組和一個數字,
    在數組中查找兩個數,使得它們的和正好是輸入的那個數字。
    要求時間復雜度是O(n)。如果有多對數字的和等于輸入的數字,輸出任意一對即可。
    例如輸入數組1、2、4、7、11、15和數字15。由于4+11=15,因此輸出4和11。

     

    第17題:
    題目:在一個字符串中找到第一個只出現一次的字符。如輸入abaccdeff,則輸出b。 
    分析:這道題是2006年google的一道筆試題。

     

    第20題:
    題目:輸入一個表示整數的字符串,把該字符串轉換成整數并輸出。
    例如輸入字符串"345",則輸出整數345。

     

    第25題:
    寫一個函數,它的原形是int continumax(char *outputstr,char *intputstr)
    功能:
    在字符串中找出連續最長的數字串,并把這個串的長度返回,
    并把這個最長數字串付給其中一個函數參數outputstr所指內存。
    例如:"abcd12345ed125ss123456789"的首地址傳給intputstr后,函數將返回9,
    outputstr所指的值為123456789


    26.左旋轉字符串

    題目:
    定義字符串的左旋轉操作:把字符串前面的若干個字符移動到字符串的尾部。

    如把字符串abcdef左旋轉2位得到字符串cdefab。請實現字符串左旋轉的函數。
    要求時間對長度為n的字符串操作的復雜度為O(n),輔助內存為O(1)。


    37.
    有n個長為m+1的字符串,
    如果某個字符串的最后m個字符與某個字符串的前m個字符匹配,則兩個字符串可以聯接,
    問這n個字符串最多可以連成一個多長的字符串,如果出現循環,則返回錯誤。

     

    45.雅虎:
    1.對于一個整數矩陣,存在一種運算,對矩陣中任意元素加一時,需要其相鄰(上下左右)
    某一個元素也加一,現給出一正數矩陣,判斷其是否能夠由一個全零矩陣經過上述運算得到。

    2.一個整數數組,長度為n,將其分為m份,使各份的和相等,求m的最大值
      比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1;
      {3,6}{2,4,3} m=2
      {3,3}{2,4}{6} m=3 所以m的最大值為3


    48.微軟:
    一個數組是由一個遞減數列左移若干位形成的,比如{4,3,2,1,6,5}
    是由{6,5,4,3,2,1}左移兩位形成的,在這種數組中查找某一個數。


    51.和為n連續正數序列。
    題目:輸入一個正數n,輸出所有和為n連續正數序列。

    例如輸入15,由于1+2+3+4+5=4+5+6=7+8=15,所以輸出3個連續序列1-5、4-6和7-8。
    分析:這是網易的一道面試題。


    53.字符串的排列。
    題目:輸入一個字符串,打印出該字符串中字符的所有排列。
    例如輸入字符串abc,則輸出由字符a、b、c所能排列出來的所有字符串
    abc、acb、bac、bca、cab和cba。

    分析:這是一道很好的考查對遞歸理解的編程題,
    因此在過去一年中頻繁出現在各大公司的面試、筆試題中。

     

    54.調整數組順序使奇數位于偶數前面。

    題目:輸入一個整數數組,調整數組中數字的順序,使得所有奇數位于數組的前半部分,
    所有偶數位于數組的后半部分。要求時間復雜度為O(n)。


    56.最長公共字串。
    題目:如果字符串一的所有字符按其在字符串中的順序出現在另外一個字符串二中,

    則字符串一稱之為字符串二的子串。

    注意,并不要求子串(字符串一)的字符必須連續出現在字符串二中。
    請編寫一個函數,輸入兩個字符串,求它們的最長公共子串,并打印出最長公共子串。

    例如:輸入兩個字符串BDCABA和ABCBDAB,字符串BCBA和BDAB都是是它們的最長公共子串,
    則輸出它們的長度4,并打印任意一個子串。

    分析:求最長公共子串(Longest Common Subsequence, LCS)是一道非常經典的動態規劃題,
    因此一些重視算法的公司像MicroStrategy都把它當作面試題。


    63.在字符串中刪除特定的字符。
    題目:輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。

    例如,輸入”They are students.”和”aeiou”,

    則刪除之后的第一個字符串變成”Thy r stdnts.”。

    分析:這是一道微軟面試題。在微軟的常見面試題中,與字符串相關的題目占了很大的一部分,
    因為寫程序操作字符串能很好的反映我們的編程基本功。

     

    69.旋轉數組中的最小元素。
    題目:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個排好序的數組的一個旋轉,

    輸出旋轉數組的最小元素。例如數組{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個旋轉,該數組的最小值為1。

        分析:這道題最直觀的解法并不難。從頭到尾遍歷數組一次,就能找出最小的元素,
    時間復雜度顯然是O(N)。但這個思路沒有利用輸入數組的特性,我們應該能找到更好的解法。

     

    73.對策字符串的最大長度。
    題目:輸入一個字符串,輸出該字符串中對稱的子字符串的最大長度。
    比如輸入字符串“google”,由于該字符串里最長的對稱子字符串是“goog”,因此輸出4。

    分析:可能很多人都寫過判斷一個字符串是不是對稱的函數,這個題目可以看成是該函數的加強版。

     

    85.又見字符串的問題
    1.給出一個函數來復制兩個字符串A和B。
    字符串A的后幾個字節和字符串B的前幾個字節重疊。
    分析:記住,這種題目往往就是考你對邊界的考慮情況。
    2.已知一個字符串,比如asderwsde,尋找其中的一個子字符串比如sde的個數,
    如果沒有返回0,有的話返回子字符串的個數。


    88.2005年11月金山筆試題。編碼完成下面的處理函數。
    函數將字符串中的字符'*'移到串的前部分,

    前面的非'*'字符后移,但不能改變非'*'字符的先后順序,函數返回串中字符'*'的數量。
    如原始串為:ab**cd**e*12,
    處理后為*****abcde12,函數并返回值為5。(要求使用盡量少的時間和輔助空間)

     

    93.在一個int數組里查找這樣的數,它大于等于左側所有數,小于等于右側所有數。
    直觀想法是用兩個數組a、b。a[i]、b[i]分別保存從前到i的最大的數和從后到i的最小的數,

    一個解答:這需要兩次遍歷,然后再遍歷一次原數組,
    將所有data[i]>=a[i-1]&&data[i]<=b[i]的data[i]找出即可。

    給出這個解答后,面試官有要求只能用一個輔助數組,且要求少遍歷一次。


    94.微軟筆試題
    求隨機數構成的數組中找到長度大于=3的最長的等差數列9 d- x' W) w9 ?" o3 b0 R
    輸出等差數列由小到大:
    如果沒有符合條件的就輸出
    格式:
    輸入[1,3,0,5,-1,6]
    輸出[-1,1,3,5]
    要求時間復雜度,空間復雜度盡量小


    96.08年中興校園招聘筆試題
    1.編寫strcpy 函數
    已知strcpy 函數的原型是
    char *strcpy(char *strDest, const char *strSrc);
    其中strDest 是目的字符串,strSrc 是源字符串。
    不調用C++/C 的字符串庫函數,請編寫函數 strcpy。

     

    ----------------

    1.關于本微軟等公司數據結構+算法面試100題系列V0.1版的鄭重聲明
    http://blog.csdn.net/v_JULY_v/archive/2010/12/02/6050133.aspx
    2.完整100題,請參見,
    [珍藏版]微軟等數據結構+算法面試100題全部出爐[100題首次完整亮相]
    http://blog.csdn.net/v_JULY_v/archive/2010/12/06/6057286.aspx
    3.更多詳情,請參見,本人博客:
    My Blog:
    http://blog.csdn.net/v_JULY_v
    4.所有的資源(題目+答案)下載地址:
    http://v_july_v.download.csdn.net/
    5.本微軟等100題系列V0.1版,永久維護(網友,思路回復)地址:
    http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html

    主站蜘蛛池模板: 久久国产精品成人免费| 国产成人亚洲综合| 亚洲精品无码高潮喷水A片软| 18禁止看的免费污网站| 亚洲视频免费播放| 91精品免费久久久久久久久| 亚洲日韩中文字幕天堂不卡| 免费人妻无码不卡中文字幕系| 91天堂素人精品系列全集亚洲| 1000部拍拍拍18勿入免费凤凰福利| 亚洲丰满熟女一区二区v| 免费鲁丝片一级观看| 一级毛片成人免费看a| 国产成人亚洲精品青草天美| 2020因为爱你带字幕免费观看全集 | 香蕉视频亚洲一级| 鲁啊鲁在线视频免费播放| 亚洲妇熟XXXX妇色黄| 在线免费不卡视频| 手机看片国产免费永久| 亚洲AV无码片一区二区三区 | 久久精品国产亚洲AV高清热| 日日夜夜精品免费视频| 99爱免费观看视频在线| 一级毛片aa高清免费观看| 久久精品国产亚洲AV嫖农村妇女| 国产一区二区三区免费在线观看 | 国产精品免费一级在线观看| 一级毛片免费毛片一级毛片免费| 亚洲国产成人综合精品| 亚洲国产成人片在线观看| 免费va人成视频网站全| 国产精品免费观看| 久久免费精彩视频| 99精品视频在线观看免费| 免费无码一区二区| 午夜在线亚洲男人午在线| 亚洲人成色77777在线观看| 亚洲网站免费观看| 久久久久亚洲精品美女| 亚洲日韩中文字幕在线播放|