本文參考自《劍指offer》一書,代碼采用Java語言。 更多:《劍指Offer》Java實現合集 題目 數字以0123456789101112131415…的格式序列化到一個字符序列中。在這個序列中,第5位(從0開始計數)是5,第13位是1,第19位是4,等等。請寫一個函數求任意 ...
由於這道題目在牛客上沒有,所以在此記錄一下。 一.題目大意: 數字以 的格式序列化到一個字符序列中。在這個序列中,第 位 從 開始計數,即從第 位開始 是 ,第 位是 ,第 位是 ,等等。請寫一個函數,求任意第n位對應的數字。 二.題解 劍指offer 上提供了兩種思路。 方法 : 第一種思路是:從 開始枚舉每個數字。每枚舉一個數字的時候,求出該數字是幾位 如 是 位數 是 位數 ,並把該數字的位 ...
2018-04-27 17:30 0 1295 推薦指數:
本文參考自《劍指offer》一書,代碼采用Java語言。 更多:《劍指Offer》Java實現合集 題目 數字以0123456789101112131415…的格式序列化到一個字符序列中。在這個序列中,第5位(從0開始計數)是5,第13位是1,第19位是4,等等。請寫一個函數求任意 ...
題目: 在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3。 思路 ...
問題描述 在長度為n的數組中,所有的元素都是0到n-1的范圍內。 數組中的某些數字是重復的,但不知道有幾個重復的數字,也不知道重復了幾次,請找出任意重復的數字。 例如,輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出為2或3。 解題思路 1、判斷輸入數組有無元素非法 ...
一、題目:旋轉數組的最小數字 題目:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該數組的最小值為1。 這道題最直觀的解法並不 ...
題目: 統計一個數字在排序數組中出現的次數。 思路: 1、順序遍歷 順序掃描一遍數組,統計該數字出現的次數。 時間復雜度:O(n) 2、二分查找 假設我們需要找的數字是k,那么就需要找到數組中的第一個k和最后一個k出現的位置。 如何通過二分查找得到第一個k的位置呢? 取數組中間 ...
一、題目:數字在排序數組中出現的次數 題目:統計一個數字在排序數組中出現的次數。例如輸入排序數組{1,2,3,3,3,3,4,5}和數字3,由於3在這個數組中出現了4次,因此輸出4。 二、解題思路 2.1 直接運用二分查找 既然輸入的數組是排序的,那么我們很自然地就能想到 ...
一、題目:將字符串轉換為數字 題目:寫一個函數StrToInt,實現把字符串轉換成整數這個功能。當然,不能使用atoi或者其他類似的庫函數。 二、代碼實現 (1)考慮輸入的字符串是否是NULL、空字符串 (2)考慮輸入的字符串是否包含正負號或者是否是只包含正負號 ...
題目: 0,1,...n-1這n個數字排成一個圓圈,從數字0開始每次從這個圓圈里刪除第m個數字,求出這個圓圈里剩下的最后一個數字。 思路: 1、環形鏈表模擬圓圈 創建一個n個節點的環形鏈表,然后每次在這個鏈表中刪除第m個節點; 可以用std::list來模擬環形鏈表,list本身不是環形 ...