📣 独立日限时特惠: VIP通行证立减$68
回复: 22
跳转到指定楼层
上一主题 下一主题
收起左侧

Coursera 两道题版本的OA

全局:

2016(7-9月) 码农类General 硕士 全职@ - 网上海投 - 在线笔试  | | Other | 应届毕业生
本来5天前收到的链接,准备了好久的题库,顺便也恢复一下状态,结果刚点开就发现Coursera新发来个OA,之前的链接作废了。

于是从5道题的版本变成了两道题。而之前卡住许久的题目就是lovely number,这次查了一下新面
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
est,就当是熟练一下手感。
祝各位都好运~

by the way,这家是海投就给OA,希望能有下文吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x

评分

参与人数 3大米 +18 收起 理由
donnice + 10 感谢分享!
haveto + 3 为啥我只能最多给3个大米 别人能给这么多啊.
Rain + 5 感谢分享!

查看全部评分


上一篇:snapchat两轮电话
下一篇:有人去過course hero onsite嗎?
推荐
Sorrow雨 2016-9-23 02:30:47 | 只看该作者
全局:
mymax2009 发表于 2016-9-23 02:03
然后其实我想问的是  Ashley 这题, 121算不算是repeated digit number,还是要连续的?

121 应该是算repeated number的
我的思路是先计算1到m不重复的个数减去1到n-1的不重复个数
举个例子吧 比如说要算1-223中不重复的个数,先存1-9,10-99的不重复个数90个,当算到最高位2时,我们开始算100-199的个数,百位有1众取法“1”,十位9种,个位8种,就是72,接下来算200-219的个数,这时候用个vector保存已经用过的数字,十位有“0,1”两种取法,个位有8种,总共16种,220-223,有0个。关键就在于每次计算当前位数字取整减一不重复数字的个数。最后累加起来。每次计算一个数字的复杂度就是O(1),因为m,n digit最多为5位。这是我的想法。

评分

参与人数 1大米 +10 收起 理由
忆梦前尘 + 10 感谢分享!

查看全部评分

回复

使用道具 举报

推荐
Sorrow雨 2016-9-23 01:43:46 | 只看该作者
全局:
mymax2009 发表于 2016-9-23 01:39
segment这题应该可以O(N)解决,遍历number,用deque存升序number的index(当前number

嗯嗯 用queue做O(N)复杂度 , 不过我的做法是pq里面存pair<nums[i],i> 然后做法和你一样啦
回复

使用道具 举报

推荐
Sorrow雨 2016-9-23 01:06:21 | 只看该作者
全局:
恕我直言,暴力枚举复杂度太高了吧?顶我上去,分享简单做法
回复

使用道具 举报

🔗
chensheng 2016-9-4 03:19:06 | 只看该作者
全局:
1. Segment

  1. public int segment(int x, int[] arr) {

  2.         if (x == 0 || x > arr.length) {
  3.             return 0;
  4.         }

  5.         List<List<Integer>> list = new ArrayList<List<Integer>>();

  6.         for (int i = 0; i < arr.length; i++) {
  7.             ArrayList<Integer> nums = new ArrayList();

  8.             for (int j = i; j < x + i && i != arr.length - 1; j++) {
  9.                 nums.add(arr[j]);
  10.             }
  11.             list.add(nums);
  12.         }

  13.         List<Integer> minValues = new ArrayList<>();

  14.         for (int i = 0; i < list.size(); i++) {

  15.             List<Integer> nums = list.get(i);
  16.             if (nums == null || nums.size() == 0) {
  17.                 continue;
  18.             }

  19.             int min = Integer.MAX_VALUE;
  20.             for (int j = 0; j < nums.size(); j++) {
  21.                 min = Math.min(nums.get(j), min);
  22.             }
  23.             minValues.add(min);
  24.         }

  25.         int max = Integer.MIN_VALUE;
  26.         for (int i = 0; i < minValues.size(); i++) {
  27.             max = Math.max(max, minValues.get(i));
  28.         }

  29.         return max;
  30.     }
复制代码



2. Lovely numbers
  1. public void countNumbers(int[][] arr) {

  2.         if (arr == null || arr.length == 0 || arr[0].length == 0) {
  3.             return;
  4.         }

  5.         int m = arr.length;
  6.         int count;
  7.         ArrayList<Integer> list = new ArrayList<>();

  8.         for (int i = 0; i < m; i++) {
  9.             count = 0;
  10.             for (int j = arr[i][0]; j <= arr[i][1]; j++) {
  11.                 if (!checkRepeating(j)) {
  12.                      count++;
  13.                 }
  14.             }
  15.             list.add(count);
  16.         }

  17.         for (int i = 0; i < list.size(); i++) {
  18.             System.out.println(list.get(i));
  19.         }
  20.     }

  21.     private boolean checkRepeating(int num) {

  22.         Set<Integer> set = new HashSet<>();

  23.         while (num > 0) {
  24.             if (set.contains(num % 10)) {
  25.                 return true;
  26.             }
  27.             set.add(num % 10);
  28.             num /= 10;
  29.         }

  30.         return false;
  31.     }
复制代码
回复

使用道具 举报

🔗
y111d 2016-9-6 08:30:54 | 只看该作者
全局:

层主这种方法的时间复杂度应该是 O(n*maxLen) 吧?
回复

使用道具 举报

🔗
chensheng 2016-9-7 04:56:28 | 只看该作者
全局:
y111d 发表于 2016-9-6 08:30
层主这种方法的时间复杂度应该是 O(n*maxLen) 吧?

没错啊,正确
回复

使用道具 举报

🔗
Skywalker326 2016-9-7 11:00:15 | 只看该作者
本楼:
全局:
多谢楼主!
回复

使用道具 举报

🔗
laahaa 2016-9-19 12:08:58 | 只看该作者
全局:
我也是MSE转的CS。。USC37学分的。。一口气看了你写的那些课程的经验介绍,感觉。。。。更虚了。。。。。。。。。。。。LZ名字是LTM吗?
回复

使用道具 举报

🔗
 楼主| 忆梦前尘 2016-9-19 13:11:17 | 只看该作者
全局:
laahaa 发表于 2016-9-18 20:08
我也是MSE转的CS。。USC37学分的。。一口气看了你写的那些课程的经验介绍,感觉。。。。更虚了。。。。。。 ...

我去。。。这是抓到我真人了?
回复

使用道具 举报

🔗
mymax2009 2016-9-22 02:43:23 | 只看该作者
全局:
求问下楼主他家能用C++做吗? 我看input全是stdin,是要先从std::cin预处理input再写算法对吗
回复

使用道具 举报

🔗
WhatsFLAG 2016-9-22 04:16:56 | 只看该作者
本楼:
全局:
楼主给力!

评分

参与人数 1大米 +10 收起 理由
忆梦前尘 + 10 回答的很好!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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