每日一題之 網易有道演算法崗筆試題 二分

2021-08-28 13:15:02 字數 816 閱讀 3044

描述

給乙個整數n,n表示貝殼數量,然後a和b輪流取貝殼數,a先手,每次取固定的m個,b後手,每次取剩下貝殼的1/10,向下取整。這樣取貝殼直到取完,問a如果要獲得至少一半的貝殼,問a最少要取的m數量是多少? n <= 1e18

input

10output

1

思路:

二分m就好了,按取貝殼方式取,最後判斷a獲得的貝殼數量是否大於等於總數的一半

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn =

1e6+7;

typedef

long

long ll;

ll n;

bool

judge

(ll x)

else

//t = (double)tmp;

tmp = tmp - tmp/10;

}if(sum >=

(n+1)/

2)return

true

;else

return

false;}

ll search

(ll low, ll high)

else

low = mid +1;

}return low;

}int

main()

每日一題之 網易遊戲(研發崗)

給你乙個字串,全部都用大寫字母組成,如有按順序排列的連續子串且子串長度大於等於4的時候那就把這種子串表示為開頭的的字元 結尾的字元的形式。比如 xyzabcd 最後轉換為 xyza d 思路 直接模擬,記錄每個子串的起始位置和終止位置 include include include include ...

每日一題之 百度演算法崗筆試題 (KMP求迴圈節)

描述 給定乙個僅由小寫字母組成的長度不超過1e6的字串,將首字母移動到末尾並記錄所得的字串,不斷重複操作,雖然記錄了無限個字串,但其中不同的字串數目是有限的,問不同的字串有多少個?輸入 abab 輸出 解釋 記錄了 abab 和 baba兩個不同的字串 思路 如果字串中有迴圈的話,那麼迴圈的部分是通...

每日一題 2016騰訊筆試題之一

最長回文子串行 題目大概的意思是這樣 例如 cabbeaf 回文子串行有 c,a,aa,bb,aba,abba,e,f,最長的就是abba,所以輸出長度為4 該題目可以轉換為該字串和它反轉的字串的最長公共子串行。最長公共子串行 其定義是,乙個序列s,如果分別是兩個或多個已知序列的子串行,且是所有符合...