一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1487|回复: 14
收起左侧

Twitter OA March 19

[复制链接] |试试Instant~ |关注本帖
ilmlj 发表于 2016-3-20 09:38:15 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 博士 实习@Twitter - 网上海投 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x

Twitter 最近在下 OA 雨刚刚做完,共两题:.鐣欏璁哄潧-涓浜-涓夊垎鍦
. 1point 3acres 璁哄潧
1. 对于某个数N, 算出其是否能够被写成 N = p^q 的形式。
2. Game of Thrones. 地理已有原题,不再重复。

求过啊。



. 1point3acres.com/bbs

评分

1

查看全部评分

duoduo33 发表于 2016-3-20 09:46:34 | 显示全部楼层
求问,Game of Thrones 求的是是否为palindrome 还是 palindrome anagram的个数?
回复 支持 反对

使用道具 举报

 楼主| ilmlj 发表于 2016-3-20 09:49:16 | 显示全部楼层
duoduo33 发表于 2016-3-20 09:46
求问,Game of Thrones 求的是是否为palindrome 还是 palindrome anagram的个数?

没问个数。只问是否
回复 支持 反对

使用道具 举报

xoxoxoxooxoxoxo 发表于 2016-3-20 09:51:49 | 显示全部楼层
请问第一题,楼主也是用 sqrt() 下去解吗?
回复 支持 反对

使用道具 举报

 楼主| ilmlj 发表于 2016-3-23 09:00:38 | 显示全部楼层
xoxoxoxooxoxoxo 发表于 2016-3-20 09:51
请问第一题,楼主也是用 sqrt() 下去解吗?

没太清楚你意思
回复 支持 反对

使用道具 举报

海盗包子 发表于 2016-3-24 04:10:01 | 显示全部楼层
请问楼主OA是可以一个小时内提交多次嘛?提交次数会不会对结果有影响呢?
回复 支持 反对

使用道具 举报

BrilliantBean 发表于 2016-3-24 06:30:45 | 显示全部楼层
请问楼主 第一题的思路是神马
回复 支持 反对

使用道具 举报

ok123 发表于 2016-3-24 06:45:50 | 显示全部楼层
xoxoxoxooxoxoxo 发表于 2016-3-20 09:51
请问第一题,楼主也是用 sqrt() 下去解吗?
. 鍥磋鎴戜滑@1point 3 acres
找出所有的质数因子,
看质数个数能不能都除以二,三。。。
回复 支持 反对

使用道具 举报

海盗包子 发表于 2016-3-24 09:22:13 | 显示全部楼层
写了一下第一题,代码有点丑 主要思路就是求出所有质因数,统计各个质因数的个数,再求出他们的最大公约数,。如果最大公约数是1就返回false,这里有加入负数的考虑情况。
  1.     public static boolean sqrtpq(int n) {
  2.         if (n == 1 || n == 0)
    . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  3.             return true;
  4.         int flag = 0;
  5.         if(n < 0) {
  6.             flag = 1;
  7.             n = -n;
  8.         }
  9.         HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();.1point3acres缃
  10.         ArrayList<Integer> list = new ArrayList<Integer>();. From 1point 3acres bbs
  11.         int cnt = 0;
  12.         while(n % 2 == 0) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  13.             cnt++;
  14.             n = n / 2;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  15.         }
  16.         if(cnt != 0)
  17.             map.put(2, cnt);
  18.         int i = 3;
  19.         while(n != 1){
  20.             cnt = 0;
  21.             while(n % i == 0) {
  22.                 cnt++;. 1point3acres.com/bbs
  23.                 n = n / i;
  24.             } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  25.             if(cnt != 0)
  26.                 map.put(i,cnt);
  27.             i += 2;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  28.         }
  29.         for(Integer key : map.keySet()) {
  30.             list.add(map.get(key));
    -google 1point3acres
  31.         }. Waral 鍗氬鏈夋洿澶氭枃绔,
  32.         int gcd = ngcd(list, list.size());
  33.         
  34.         if(gcd == 1)
  35.             return false;. Waral 鍗氬鏈夋洿澶氭枃绔,
  36.         if(flag == 0)
  37.             return true;
  38.         
  39.         gcd = gcd - 1; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  40.         while((gcd & 1) == 1) {
  41.             gcd >>= 1;
  42.         }
  43.         if (gcd== 0)
  44.             return false;
  45.         else
  46.             return true;
  47.          
  48.     }
复制代码
回复 支持 反对

使用道具 举报

BrilliantBean 发表于 2016-3-24 10:55:22 | 显示全部楼层
请问楼主 第一题有负数的情况吗
回复 支持 反对

使用道具 举报

BrilliantBean 发表于 2016-3-24 11:12:11 | 显示全部楼层
海盗包子 发表于 2016-3-24 09:22
写了一下第一题,代码有点丑 主要思路就是求出所有质因数,统计各个质因数的个数,再求出他们的最 ...
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
ngcd是自己写的求gcd的函数吗
回复 支持 反对

使用道具 举报

海盗包子 发表于 2016-3-24 13:17:12 | 显示全部楼层
BrilliantBean 发表于 2016-3-24 11:12
ngcd是自己写的求gcd的函数吗

对的,就是一个递归求多个数的gcd
回复 支持 反对

使用道具 举报

 楼主| ilmlj 发表于 2016-3-25 10:53:07 | 显示全部楼层
海盗包子 发表于 2016-3-24 04:10
请问楼主OA是可以一个小时内提交多次嘛?提交次数会不会对结果有影响呢?

对的,可以多次提交
回复 支持 反对

使用道具 举报

 楼主| ilmlj 发表于 2016-3-25 10:53:48 | 显示全部楼层
BrilliantBean 发表于 2016-3-24 10:55
请问楼主 第一题有负数的情况吗

没有负数的情况[凑字数]
回复 支持 反对

使用道具 举报

sealove999 发表于 2016-3-27 08:45:21 | 显示全部楼层
海盗包子 发表于 2016-3-24 09:22
写了一下第一题,代码有点丑 主要思路就是求出所有质因数,统计各个质因数的个数,再求出他们的最 ...
  1. public class Solution {
  2.   static int gcd(int a, int b) {
  3.     if (a == 0 || b == 0).1point3acres缃
  4.       return a + b;. Waral 鍗氬鏈夋洿澶氭枃绔,
  5.     return gcd(b, a % b);
  6.   }-google 1point3acres

  7.   static boolean pq(int a) {
  8.     if (a == 0 || a == 1)
  9.       return true;
  10.     Map<Integer, Integer> m = new HashMap<>();
  11.     for (int i = 2; i <= a; i++) {
  12.       if (a % i == 0) {
  13.         int count = 0;
    . 1point 3acres 璁哄潧
  14.         while (a % i == 0) {
    . from: 1point3acres.com/bbs
  15.           count++;
  16.           a /= i;
  17.         }
  18.         m.put(i, count);
  19.       }
  20.     }
  21.     List<Integer> l = m.values().stream().collect(Collectors.toList());. From 1point 3acres bbs
  22.     int g = l.get(0);
  23.     for (Integer i : l) {-google 1point3acres
  24.       g = gcd(g, i);. 1point 3acres 璁哄潧
  25.     }
  26.     return g != 1;
  27.   }
    . 鍥磋鎴戜滑@1point 3 acres

  28.   public static void main(String[] args) {
  29.     System.out.println(pq(144));
  30.   }
  31. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-3 22:37

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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