腾讯笔试经验-不是大牛-勿看
生活随笔
收集整理的這篇文章主要介紹了
腾讯笔试经验-不是大牛-勿看
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2018.9.16
1.字符串系數(shù)。字符串A和B,找到B中有A的多少個(gè)長度為k的子串。
思路:找到A中長度為k的子串,存到set里。
? ? ? ? ? ?找B中的長度為k的子串,若在set里有就++。? ?
只通過90%。
#include <iostream> #include <string> #include <set> #include <vector> #include <map> using namespace std; int main(){int k;cin>>k;string a,b;cin>>a>>b;int an = a.size();int bn = b.size();set<string> aa;map<string,int> bb;for (int i=0;i<an-k+1;i++){ string t = a.substr(i, k);aa.insert(t);cout << t.c_str()<<endl;}int res = 0;for (int i = 0; i < bn-k+1; i++){string t = b.substr(i,k);if (aa.count(t))res++;}cout<<res;return 0; }?
2. 前n個(gè)數(shù)的和為x+y,求至少需要其中幾個(gè)數(shù)相加得x,剩下的剛好為y。? ?
.
思路:兩個(gè)數(shù)m和n,首先看x+y是否剛好為前t項(xiàng)和,否則返回-1。
? ? ? ? ? ?從1到n中找出等于x的最少需要幾個(gè)數(shù):
? ? ? ? ? ?1.若x<=n? 返回1
? ? ? ? ? ?2.從后向前計(jì)算,若x<=最后兩個(gè)數(shù)的和, 返回2
? ? ? ? ? ? ?。。。。。。。。。。。。。。。。。。
好吧,這是看了別人的思路得到的,我想復(fù)雜了,老想找到哪幾個(gè)數(shù),其實(shí)只要求出個(gè)數(shù)就好了!!!!!哎!沒來得及測試的
#include <iostream> #include <math.h> using namespace std; int reachNumber(int x, int y) {int res = 0;int target = x + y;int n = ceil((-1.0 + sqrt(1 + 8.0*target)) / 2);int sum = n * (n + 1) / 2;if (sum != target){res = -1;return res;}int temp = 0;for (int i = n; i >= 1; i--){temp+=i;if (x <= temp){return (n + 1 - i);}}}int main(){int x, y;cin >> x >> y;int num = reachNumber(x, y);cout << num;return 0; }?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的腾讯笔试经验-不是大牛-勿看的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VML实例-对话框
- 下一篇: C语言将循环小数/有限小数转换为分数