《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 1580|回复: 1
收起左侧

Twitter OA 人品爆发 超级简单 附这两天收集的题目

[复制链接] |试试Instant~ |关注本帖
singku 发表于 2016-3-21 04:11:03 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Twitter - 网上海投 - 在线笔试 |Other其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
这两天在地里逛了下 做了一些OA题,今天做OA预期会遇到变态的数论题,于是周末好好准备了一下但是没有遇到,人品好!

俩题目是 1、算阶乘。 2、判定是否合法的国旗。
c++写的
1、感觉阶乘这个唯一要处理的就是输入输出,test case虽然都会有一个非正数输入让你结束. Waral 鍗氬鏈夋洿澶氭枃绔,
但个人感觉还是要处理下不是非整数结束的输入
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

2、国旗这个就是 N*M的矩阵,每一行内的元素都要相同,相邻行的元素不能相同。


下面附带自己最近收集的Twitter OA的题及自己写的代码
  1. //N=p^q
  2. bool super_power(unsigned long long int n) {
  3.       for (unsigned long long int p = sqrt(n); p > 1; p--) {
  4.             if (pow(p, (int)(log(n)/log(p))) == n) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  5.             cout << p << "_" << log(n)/log(p) << endl;
  6.             return true;
  7.         }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  8.     }-google 1point3acres
  9.     return false;
  10. }

  11. //n lines cut plain to x parts
  12. int n_cuts(int n) {
  13.         //f(n) = f(n-1) + n;
  14.         //f(n) = (2+n*n + n)/2;
  15.         return (2 + n + n * n) / 2;
  16. }

  17. // game of thrones. 鍥磋鎴戜滑@1point 3 acres
  18. bool palindrome_permutation(string &s). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  19. {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  20.     int n = s.size();
  21.     int table[26] = {0};
  22.     int odds = 0;
  23.     for (int i = 0; i < n; i++) {
  24.         table[s[i]-'a'] = (table[s[i]-'a'] + 1) % 2;
  25.         odds += (table[s[i]-'a'] ?1 :-1);
  26.     }
  27.     return (odds <= 1);
  28. }
  29. . more info on 1point3acres.com
  30. // valid flag
  31. int main() {
  32.     /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
  33.     int t;
  34.     cin >> t;
  35.     for (int i = 0; i < t; i++) {
  36.         int n, m;
  37.         cin >> n >> m;. 鍥磋鎴戜滑@1point 3 acres
  38.         vector<string> strvec;
  39.         for (int j = 0; j < n; j++) {. more info on 1point3acres.com
  40.             string cur;. From 1point 3acres bbs
  41.             cin >> cur;
  42.             cout << cur << endl;
  43.             strvec.push_back(cur);
  44.         }
  45.         bool valid = true; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  46.         for (int j = 0; j < n; j++) {
  47.             if (strvec[j].size() != m) {
  48.                 valid = false;
    鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  49.                 break;
    . more info on 1point3acres.com
  50.             }
  51.             for (int k = 0; k < m-1; k++) {
  52.                 if (strvec[j][k] != strvec[j][k+1]) {
  53.                     valid = false;
  54.                     break;
  55.                 }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  56.             }
  57.             if (valid == false) {
  58.                 break;. from: 1point3acres.com/bbs
  59.             }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  60.             if (j != 0 && strvec[j-1][0] == strvec[j][0]) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  61.                 valid = false;
  62.                 break;
  63.             }
  64.         }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  65.         cout << (valid ?"YES" :"NO") << endl;
  66.     }. more info on 1point3acres.com
  67.     return 0;
  68. }

  69. //gcd
  70. int gcd(int a, int b) {
  71.     while (a != b) {
  72.         int d = fabs(a-b);
  73.         a = min(a, b);
  74.         b = d;
  75.     }. 1point 3acres 璁哄潧
  76.     return a;
  77. }
  78. . visit 1point3acres.com for more.
  79. // common elements in array
  80. int common_elements(int start, int step, int end, int start1, int factor, int end1) {-google 1point3acres
  81.         int cnt = 0;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  82.         for (int i = start1, i <= end1 && i <= end, i *= factor) {
  83.                 if (i < start) continue;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  84.                 if ((i - start) % step == 0) cnt++;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  85.         }
  86.         return cnt;. 鍥磋鎴戜滑@1point 3 acres
  87. }
    .鏈枃鍘熷垱鑷1point3acres璁哄潧

  88. // count primes + 1 = # of x fufill (x-1)! % x == x-1
  89. int countPrimes(int n) {
  90.         if (n <= 2) {
  91.                 return 0;
  92.         }
  93.         //only test odd number start from 3 to n;
  94.         //idx = num-1/2 - 1 ;-google 1point3acres
  95.         char bitmap[n] = {0};
  96.         int count = 1;
  97.         int upper = sqrt(n);
  98.         for (int i = 3; i < n; i += 2) {
  99.                 if (bitmap[i] == 0) {//i is prime
  100.                         count++;
  101.                         if (i > upper) continue;
  102.                         for (int j = i*i; j < n; j += 2*i) {
  103.                                 bitmap[j] = 1;//j is not prime;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  104.                         }
  105.                 }
  106.         }
  107.         return count;
  108. }

  109. // first repeating. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  110. char first_repeating_char(string &s) {
  111.         int n = s.size();.1point3acres缃
  112.         int pos = n;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  113.         int table[256][2] = {0};
  114.         for (int i = 0; i < n; i++) {
  115.                 int idx = s[i];
  116.                 if (table[idx][0] == 0) {
  117.                         table[idx][1] = i; //first appearance
  118.                 }
  119.                 if (++table[idx][0] == 2) {//repeat
  120.                         pos = min(pos, table[idx][1]);
  121.                 }
  122.         }
  123.         return pos < n ?' ' : s[pos];
  124. }

  125. //euler function mutual prime less than n
  126. int mutual_prime_cnt(int n) {
  127.         double ans;
  128.         int temp = n;
  129.         ans = n;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  130.         for(int i = 2; i*i <= n; i++) {
  131.                 if(n % i == 0){
  132.                         ans = ans / i * (i-1);
  133.                         n /= i;
  134.                         while( n%i == 0)        n/=i;
  135.                 }
  136.         }
  137.         if(n != 1 ) {
  138.                 ans = ans/n*(n-1);
  139.         }
  140.         return (temp == 1 ?0 :ans);
  141. }. from: 1point3acres.com/bbs
  142. . Waral 鍗氬鏈夋洿澶氭枃绔,
  143. //closet numbers
  144. int main() {
  145.     /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
  146.     int n;
  147.     cin >> n;
  148.     vector<int> array;
    . from: 1point3acres.com/bbs
  149.     for (int i = 0; i < n; i++) {
  150.         int a;
  151.         cin >> a;
  152.         array.push_back(a);
  153.     }
  154.     sort(array.begin(), array.end());
  155.     int min_d = 0x7FFFFFFF;
  156.     for (int i = 0; i < n-1; i++) {
  157.         if (array[i+1] - array[i] <= min_d) {. visit 1point3acres.com for more.
  158.             min_d = array[i+1] - array[i];
  159.         }
  160.     }
  161.     for (int i = 0; i < n-1; i++) {
  162.         if (array[i+1] - array[i] == min_d) {
  163.             cout << array[i] << " " << array[i+1] << " ";. more info on 1point3acres.com
  164.         }
  165.     }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  166.     return 0;
  167. }
复制代码

评分

2

查看全部评分

aifer 发表于 2016-3-21 04:44:26 | 显示全部楼层
请问楼主,你有delete substring的代码么
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-11-18 09:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表