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

Square 面经

全局:

2017(7-9月) 码农类General 本科 实习@square - 内推 -   | | | 应届毕业生

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

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

x
小众square 面经。
地里没出现过,但不难。
[size=14.6667px]input string(“[size=14.6667px]true & false | true
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
67px]他家需要直接跑,所以不能出bug,但我还是没能写到一遍bug gree,功力还需要加强啊。

[size=14.6667px]攒人品~

上一篇:facebook onsite挂经
下一篇:laserfiche店面
🔗
jinhaobu 2016-12-16 22:34:32 | 只看该作者
全局:
这个是电面吗?
回复

使用道具 举报

🔗
 楼主| rubyj 2017-1-31 03:50:50 | 只看该作者
全局:

不好意思,我刚看见...是电面
回复

使用道具 举报

全局:
evaluate和follow up的解法,求攒人品

  1. import java.util.Arrays;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;

  5. public class Solution {
  6.     static boolean evaluate(String s) {
  7.         boolean res = true;
  8.         char lastOp = '&';

  9.         for (int i = 0; i < s.length(); i++) {
  10.             char ch = s.charAt(i);
  11.             if (Character.isLetter(ch)) {
  12.                 String tmp = "";
  13.                 while (i < s.length() && Character.isLetter(s.charAt(i))) {
  14.                     tmp += s.charAt(i);
  15.                     i++;
  16.                 }
  17.                 i--;

  18.                 boolean val = tmp.equals("true");
  19.                 if (lastOp == '&') {
  20.                     res = res && val;
  21.                 } else {
  22.                     res = res || val;
  23.                 }
  24.             } else if (ch == '&' || ch == '|') {
  25.                 lastOp = ch;
  26.             } else if (ch == ' ') {
  27.                 continue;
  28.             }
  29.         }
  30.         return res;
  31.     }

  32.     static boolean evaluate2(String s, List<String> lst) {
  33.         Map<String, Boolean> map = new HashMap<>();
  34.         for (String str : lst) {
  35.             String[] split = str.split("=");
  36.             if (split[1].equals("true")) {
  37.                 map.put(split[0], true);
  38.             } else {
  39.                 map.put(split[0], false);
  40.             }
  41.         }

  42.         boolean res = true;
  43.         char lastOp = '&';
  44.         for (int i = 0; i < s.length(); i++) {
  45.             char ch = s.charAt(i);
  46.             if (Character.isLetter(ch)) {
  47.                 String tmp = "";
  48.                 while (i < s.length() && Character.isLetter(s.charAt(i))) {
  49.                     tmp += s.charAt(i);
  50.                     i++;
  51.                 }
  52.                 i--;
  53.                 boolean val;
  54.                 if (map.containsKey(tmp)) {
  55.                     val = map.get(tmp);
  56.                 } else {
  57.                     val = tmp.equals("true");
  58.                 }
  59.                 if (lastOp == '&') {
  60.                     res = res && val;
  61.                 } else {
  62.                     res = res || val;
  63.                 }
  64.             } else if (ch == '&' || ch == '|') {
  65.                 lastOp = ch;
  66.             } else if (ch == ' ') {
  67.                 continue;
  68.             }
  69.         }
  70.         return res;

  71.     }

  72.     public static void main(String args[]) {
  73.         System.out.println(evaluate("true | false & true"));
  74.         System.out.println(evaluate("true & false & true"));
  75.         System.out.println(evaluate("true & false | true"));

  76.         System.out.println(evaluate2("a & b | c | true", Arrays.asList("a=true", "b=false", "c=false")));
  77.     }
  78. }
复制代码
回复

使用道具 举报

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

本版积分规则

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