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

Google MTV 20160921 onsite.

🔗
mallow123 2016-10-23 10:54:57 | 只看该作者
全局:
第四题,印度老汉那个,求各位code review
  1. public class Solution {
  2.        
  3.         public String removeKdigits(String num, int k) {
  4.         if(num == null || num.length() == 0) return num;
  5.         int len = num.length();
  6.         if(len == k) return "";
  7.         Stack<Character> stack = new Stack<Character>();
  8.         char []ch = num.toCharArray();
  9.         int i = 0, n = num.length();
  10.         while(i < len){

  11.             while(!stack.isEmpty() && stack.size() + n-i > k &&  stack.peek() > ch[i]){
  12.                 stack.pop();
  13.             }
  14.             stack.push(ch[i++]);
  15.         }
  16.         
  17.         // handle corner case 1111 or 1234, when k = 2
  18.         while(stack.size() > k){
  19.             stack.pop();
  20.         }
  21.         
  22.         StringBuilder sb = new StringBuilder();
  23.         while(!stack.isEmpty())
  24.           sb.insert(0, stack.pop());
  25.         
  26.         return sb.toString();
  27.         
  28.     }

  29.         public static void main(String[] args) {
  30.                 Solution s = new Solution();
  31.                 String str="xyzabc";
  32.                 int k=3;
  33.                 System.out.println(s.removeKdigits(str, k));
  34.         }
  35. }
复制代码
回复

使用道具 举报

🔗
chengbaokun 2016-11-18 02:43:30 | 只看该作者
全局:
domofeng 发表于 2016-9-22 13:20
擦, 这个不就是那个https://leetcode.com/problems/create-maximum-number/,

我一直想用https://le ...

https://leetcode.com/problems/remove-k-digits/
这道题也是一样的
回复

使用道具 举报

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

使用道具 举报

🔗
caogenfei 2016-12-1 06:15:42 | 只看该作者
全局:
  1.          private static int helper(int[][] vacation, int[][] distance, int startCity, int maxTravelTime) {
  2.                  int numOfWeek = vacation.length;
  3.                  int numOfCity = vacation[0].length;
  4.                  int[][] days = new int[numOfWeek][numOfCity];
  5.                  days[0][0] = 2;
  6.                  int max = 0;
  7.                  for (int i = 1; i < numOfWeek; i++) {
  8.                          for (int j = 0; j < numOfCity; j++) {
  9.                                  for (int k = 0; k < numOfCity; k++) {  // flying from k to j
  10.                                          if (distance[k][j] <= maxTravelTime && distance[k][j] >= 0) {
  11.                                                  days[i][j] = Math.max(days[i][j], days[i - 1][k] + vacation[i][j]);
  12.                                          }
  13.                                  }
  14.                          }
  15.                  }
  16.                  for (int i = 0; i < numOfCity; i++) {
  17.                          max = Math.max(days[numOfWeek - 1][i], max);
  18.                  }
  19.                  return max;
  20.          }
  21.          
  22.          public static void main(String[] args) {
  23.                  int[][] vacation = {{2,1,1,0},{0, 1, 1, 0},{3, 0, 1, 2}};
  24.                  int[][] distance = {{0, 6, 2, 50}, {6, 0, 20, 7}, {2, 20, 0, 10}, {50, 7, 10, 0}};
  25.                  int res = helper(vacation, distance, 0, 10);
  26.                  System.out.println(res);
  27.          }
复制代码
回复

使用道具 举报

🔗
Longfeng 2016-12-30 03:04:34 | 只看该作者
全局:
请问楼主是在哪栋楼面的?
回复

使用道具 举报

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

本版积分规则

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