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

狗家昂赛

🔗
darkscope 2018-5-9 00:17:39 | 只看该作者
全局:
第四面第二题是和这个类似吗 https://www.geeksforgeeks.org/count-of-n-digit-numbers-whose-sum-of-digits-equals-to-given-sum/
不过这个顺序是有意义的,能分享下distinct 的 k个数的解法吗
回复

使用道具 举报

🔗
darkscope 2018-5-9 00:32:07 | 只看该作者
全局:
第三轮是不是维护一个栈,遇到新元素优先级比栈顶大就出栈,最多出len-k次
回复

使用道具 举报

🔗
byrlhb 2018-5-9 06:04:03 | 只看该作者
全局:
lz能不能说说sum*k思路是怎样的 thx
回复

使用道具 举报

🔗
amber110 2018-5-12 05:43:37 | 只看该作者
全局:
谢谢楼主分享。请问第三轮要求inplace吗?需要保持原来string的order吗?还有第四轮order影响吗,比如(1,4)和(4,1)算不算一种?谢谢!
回复

使用道具 举报

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

使用道具 举报

🔗
yabay91 2018-5-12 06:09:28 | 只看该作者
全局:
darkscope 发表于 2018-5-9 00:32
第三轮是不是维护一个栈,遇到新元素优先级比栈顶大就出栈,最多出len-k次

我觉得可以用两个counter,一个统计0-9,一个统计a-z。然后遍历一次这两个counter依次加入结果,直到长度到达k...不知道我理解题意对了没
回复

使用道具 举报

🔗
Avogadro 2018-5-12 14:39:24 | 只看该作者
全局:
第四轮第二问是个背包问题吗,但是写不出状态转移方程。。。
回复

使用道具 举报

🔗
kevinxw 2018-5-12 15:18:41 | 只看该作者
全局:
论坛匿名用户 发表于 2018-5-8 07:26
有三条
1. 数字比字母有更高优先级
2. 排在前面的数字比后面的数字有更高优先级

第三题是类似 期九要 么
回复

使用道具 举报

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

评分

参与人数 1大米 +3 收起 理由
huaye + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
Avogadro 2018-5-13 01:32:56 | 只看该作者
全局:
kevinxw 发表于 2018-5-12 15:36
你这么理解吧,楼主没说清楚,但是面试时可以问。就是两种背包,相当于从有n个数(如果取值范围是0到n) ...

你写的优化前的方案,代码是不是少写了一个loop?你说的思路应该是对的,我按你的思路写的code是这样:
  1.     public int countSum(int sum, int k) {
  2.         if (sum == 0 || k == 0) {
  3.             return 0;
  4.         }
  5.         int[][] dp = new int[sum + 1][k + 1];
  6.         for (int j = 0; j <= k; j++) {
  7.             dp[0][j] = 1;
  8.         }

  9.         for (int j = 1; j <= k; j++) {
  10.             for (int i = 1; i <= sum; i++) {
  11.                 for (int l = 0; l <= i; l++) {
  12.                     dp[i][j] += dp[l][j - 1];
  13.                 }
  14.             }
  15.         }
  16.         return dp[sum][k];
  17.     }
复制代码
回复

使用道具 举报

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

本版积分规则

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