京東2017校園招聘程式設計題 幸運數

2021-07-22 11:31:17 字數 741 閱讀 6113

題目:

4和7是兩個幸運數字,我們定義,十進位制表示中,每一位只有4和7兩個數的正整數都是幸運數字。前幾個幸運數字是:4,7,44,47,74,77,444,447…

輸入:

數字k輸出:

第k個幸運數

樣例輸入:

3 5

100

10000000

樣例輸出:

74 744747

44774447447477474444447

思路:

使用完全二叉樹的思想,假設根節點為第0個數,值為-1;第1個數值為4,第2個數值為7,第3個數值為4,第4個數值為7,以此類推,即第奇數個數值為4,第偶數個數值為7。同時將其轉為完全二叉樹,如圖所示:

於是第k個幸運數就是從位置為k的葉子結點向上遍歷直到根節點的左或右子節點的路徑。根據完全二叉樹的性質,可以由子節點的位置求得其父節點的位置。若子節點是奇數字置n,則其父節點是(n-1)/2;若子節點是偶數字置,則其父節點是(n-2)/2。遍歷過程中拼接字串即可得到幸運數。

**:

public

void

luckynum(int n)

else

}system.out.println(res);

}

2017百度校園招聘程式設計題

題目大概為輸入n個敏感詞彙和乙個文字串,在文字串中出現敏感詞彙的地方用 替代掉,輸出替換後的文字串。思路 直接kmp匹配出現敏感詞的地方,用乙個中間陣列標記。唯一的陷阱就是不區分大小寫,所以用kmp判斷兩個字元相等的注意下 替換敏感詞彙 include include include include...

挖財2023年校園招聘,程式設計題

晚上參加了挖財的筆試,把考試寫的整理一下 給大家分享,實現很簡單 希望對有需要的人的有所幫助。主要是還要體會這一類題目的處理方式,如下 public class countword public static void countword file file else word.delete 0,w...

2017趨勢科技校園招聘演算法題

題目 現有給定公升序排列的整形陣列a n 和整數s,需要在整型陣列中找到任意個小標,使得各小標對應數字之和為s,輸出所有可能的下標組合。例如 陣列 1,4,8,10,12,15,22,25,31,x 30 可得 下標 2,6 a 2 a 6 30 下標 0,1,3,5 a 0 a 1 a 3 a 5...