楼主: cynthiazp
跳转到指定楼层
上一主题 下一主题
收起左侧

脸家加面,似乎他家最近新题很多?

🔗
pomme2016 2017-8-5 13:28:45 | 只看该作者
全局:
edyyy 发表于 2017-8-5 11:00
数一数有多少个子集(subset)使得子集里面的最大元素加上最小元素小于K。
A: [2, 3, 5, 7]  K: 8
=> #  ...

3+3<8
所以应该是一个
回复

使用道具 举报

🔗
pomme2016 2017-8-5 14:04:35 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
pomme2016 2017-8-5 14:30:06 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
密码 2017-8-6 12:15:32 | 只看该作者
全局:
LZ面的是哪个组?是那个做business app的组吗?
回复

使用道具 举报

🔗
Darkduke68 2017-8-6 13:25:45 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
mameko 2017-8-6 21:12:37 | 只看该作者
全局:
twosumii 发表于 2017-8-5 00:28
哈哈,可是你拿了offer我挂了,呜呜

我刚好碰到做过的题,比较幸运而已。
回复

使用道具 举报

🔗
真淘蛮 2017-8-6 21:44:06 | 只看该作者
全局:
pomme2016 发表于 2017-8-5 13:27
我自己想一开始用的DP,然后发现真的可以双指针呢。
感觉下面写的代码是对的,跑了几个test case

当 i == j 时, if (nums[i] + nums[j] < K) 要转化成 if (nums[i]  < K) 吧
回复

使用道具 举报

🔗
真淘蛮 2017-8-6 21:46:45 | 只看该作者
全局:
Darkduke68 发表于 2017-8-6 13:25
不需要加吧,while (i

nums = { 1}, k = 2 呢, 30楼的code , 跑完是0?
回复

使用道具 举报

全局:
第二题双指针是可以,但是不能简单数学方法算subset,会有很多重复的啊。。。
回复

使用道具 举报

全局:
自己写的,比较直接的解法:
  1. import java.util.*;

  2. // 给一个排序好的数组,数一数有多少个子集(subset)使得子集里面的最大元素加上最小元素小于K。
  3. // A: [2, 3, 5, 7]  K: 8
  4. // => # of subsets S: Max(S) + Min(S) < K.
  5. // => [2] , [2, 3], [2, 5], [2, 3, 5], [3] => #: 5

  6. class LessThanK{
  7.     public static void main(String[] args) {
  8.         int[] nums = {2,3,3, 5, 7};
  9.         int k = 8;
  10.         LessThanK test = new LessThanK();
  11.         int res = test.getNumber_noDuplicate(nums, k);
  12.         System.out.println(res);
  13.       
  14.         System.out.println("Backtracking Way:");
  15.       
  16.         int res2 = test.getNumber_dfs_Duplicate(nums, k);
  17.         System.out.println(res2);
  18.     }

  19.     // ========= if No Duplicate ===========
  20.     public int getNumber_noDuplicate(int[] nums, int k) {
  21.         int cnt = 0;
  22.         int i = 0, j = nums.length - 1;

  23.         while (i <= j) {
  24.             if (nums[i] + nums[j] < k) {
  25.                 cnt += (int) Math.pow(2, j - i);
  26.                 i++;
  27.             } else {
  28.                 j--;
  29.             }
  30.         }

  31.         return cnt;
  32.     }

  33.     // ========= With Dulicate, like Combination Sum II  ========= :
复制代码

补充内容 (2017-8-6 09:42):
next page (cont..)
回复

使用道具 举报

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

本版积分规则

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