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

Pinterest 电面coding

全局:

2022(7-9月) 码农类General 硕士 全职@pinterest - 网上海投 - 技术电面  | 😃 Positive 😐 Average | Pass | 在职跳槽

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

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

x
#1 Same as  


#2 follow up:
Reverse loo
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
l of edge cases, there could be invalid output.


评分

参与人数 1大米 +5 收起 理由
匿名用户-POJYD + 5

查看全部评分


上一篇:瑞信 实习 网上测试
下一篇:Goldman Sachs 23ng oa
全局:
你return一个list怎么可能用dp做,明显应该是backtrack
回复

使用道具 举报

全局:
不是已经hire freeze了吗 楼主什么时候面的?
回复

使用道具 举报

🔗
Elainebb 2022-11-5 07:16:47 | 只看该作者
全局:
这个follow up怎么用dp解决呀?
回复

使用道具 举报

🔗
oumizx 2024-9-12 15:37:59 | 只看该作者
全局:
top down版:
  1. import java.util.*;

  2. public class CountAndSay2 {
  3.     public static List<String> solution(String input) {
  4.         Map<Integer, List<String>> memo = new HashMap<>();

  5.         return helperWithMeomory(memo, input, 0);
  6.     }



  7.     private static List<String> helperWithMeomory(Map<Integer, List<String>> memo, String input, int start) {
  8.         if (memo.containsKey(start)) {
  9.             return memo.get(start);
  10.         }

  11.         if (start == input.length()) {
  12.             return Arrays.asList("");
  13.         }
  14.         List<String> res = new LinkedList<>();
  15.         if (input.charAt(start) == '0') {
  16.             memo.put(start, res);
  17.             return res;
  18.         }


  19.         for (int i = start; i < input.length() - 1; i++) {
  20.             int count = Integer.parseInt(input.substring(start, i + 1));
  21.             int num = input.charAt(i + 1) - '0';
  22.             StringBuilder sb = new StringBuilder();
  23.             for (int j = 0; j < count; j++) {
  24.                 sb.append(num);
  25.             }
  26.             String strToAdd = sb.toString();
  27.             List<String> tempList = helperWithMeomory(memo, input, i + 2);
  28.             for (String tempStr : tempList) {
  29.                 res.add(strToAdd + tempStr);
  30.             }
  31.         }

  32.         memo.put(start, res);

  33.         return res;
  34.     }

  35.     public static void main(String[] args) {
  36.         System.out.println(solution("1112"));
  37.     }
  38. }
复制代码
回复

使用道具 举报

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

本版积分规则

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