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

Instacart 详细版VO

   
🔗
西子 2021-5-29 04:39:03 | 只看该作者
全局:
谢谢楼主分享!

请问公式计算这道题, input 具体是什么 format 呢? 比如: 要求的变量 和 expressions (String[]?) 作为分别两个 parameter, 还是 "["T2", ["T1 = 1", "T2 = T3", "T3 = T1"]]" 作为一个raw string, 还是需要从某个文件读入啊?

多谢多谢, 已加米
回复

使用道具 举报

🔗
lzl124631x 2021-7-9 13:13:04 | 只看该作者
全局:
感谢楼主. 请问密码文件这题的第三问 "第一个password" 是什么意思啊?  文件读完之前我不知道password多长把?
回复

使用道具 举报

🔗
lzl124631x 2021-7-9 13:18:05 | 只看该作者
全局:
贡献一个表达式那题的JS代码, DFS + memo

  1. // [url]https://leetcode.com/playground/jJcoU84p[/url]
  2. function solve(input) {
  3.     const values = {};
  4.     const target = input[0], equations = input[1];
  5.     const map = {};
  6.     const seen = {};
  7.     equations.forEach(e => {
  8.         const [left, right] = e.split(' = ');
  9.         if (isFinite(+right)) {
  10.             values[left] = +right;
  11.         } else {
  12.             const parts = right.split(' ');
  13.             map[left] = parts;
  14.         }
  15.     });
  16.     function compute(variable) {
  17.         if (isFinite(+variable)) return +variable;
  18.         if (variable in values) return values[variable];
  19.         if (!(variable in map)) return null;
  20.         if (seen[variable]) return null;
  21.         seen[variable] = 1;
  22.         const eq = map[variable];
  23.         let val = 0;
  24.         for (let i = 0; i < eq.length; i += 2) {
  25.             const sign = (eq[i - 1] || '+') == '+' ? 1 : -1;
  26.             const value = compute(eq[i]);
  27.             if (value === null) return null;
  28.             val += sign * value;
  29.         }
  30.         return values[variable] = val;
  31.     }
  32.     return compute(target);
  33. }
  34. console.clear();
  35. (function main() {
  36.     const inputs = [
  37.         ["T2", ["T1 = 1", "T2 = T3", "T3 = T1"]],
  38.         ["T2", ["T1 = 1", "T2 = 2 + T4", "T3 = T1 - 4", "T4 = T1 + T3"]],
  39.         ["T3", ["T1 = 1", "T2 = 2 + T4", "T3 = T1 - 4", "T4 = T1 + T3"]],
  40.         ["T4", ["T1 = 1", "T2 = 2 + T4", "T3 = T1 - 4", "T4 = T1 + T3"]],
  41.         ["T2", ["T1 = T2", "T2 = T1"]],
  42.    ];
  43.     inputs.forEach(input => {
  44.         console.log(input[0],'=', solve(input));
  45.     })
  46. }());
复制代码

评分

参与人数 2大米 +2 收起 理由
605347311 + 1 给你点个赞!
morrisc1102 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
lzl124631x 2021-7-9 13:26:28 | 只看该作者
全局:
贡献一个密码文件的JS代码, 希望有帮助.



  1. const fs = require('fs');;
  2. const content = fs.readFileSync("./input.txt", "utf8");

  3. const lines = content.split('\n');
  4. const ans = [];
  5. let lineIndex = 0;
  6. while (lineIndex < lines.length) {
  7.     const index = +lines[lineIndex++];
  8.     if (index in ans) break;
  9.     const coords = lines[lineIndex++];
  10.     const [x, y] = coords.slice(1, coords.length - 1).split(', ');
  11.     const board = [];
  12.     while (lineIndex < lines.length && lines[lineIndex].trim()) {
  13.         board.unshift(lines[lineIndex++].split(""))
  14.     }
  15.     ans[index] = board[+y][+x]
  16.     ++lineIndex;
  17. }
  18. console.log(ans.join(''))
复制代码

回复

使用道具 举报

🔗
apollopffd 2021-7-18 08:30:03 | 只看该作者
全局:
请问比如文件读取这个,他家是用coderpad? 那个界面怎么读文件?还是说自己ide读自己local的文件?
回复

使用道具 举报

🔗
3e2w1q 2021-8-2 15:54:43 | 只看该作者
全局:
一遍过不是搞笑吗 我就问问 他自己去写能不能保证一遍所有case全过?
回复

使用道具 举报

🔗
阿鲁宾 2021-11-21 02:20:09 | 只看该作者
全局:
请问第一题需要考虑内存不够存储的edge case么?
回复

使用道具 举报

🔗
ft1704602 2022-1-6 10:52:29 | 只看该作者
全局:
expression那个题公式右边会有多个不同的T吗?
回复

使用道具 举报

🔗
bcxc 2022-5-18 00:48:09 | 只看该作者
全局:
用Go写了下密码题

  1. func Password() string {
  2.         scanner := bufio.NewScanner(os.Stdin)
  3.         scanner.Split(bufio.ScanLines)

  4.         x, y := -1, -1
  5.         rawLines := []string{}
  6.         isDigit := regexp.MustCompile("^[0-9]+$").MatchString

  7.         chars := []string{}
  8.         for scanner.Scan() {
  9.                 line := scanner.Text()
  10.                 if len(line) > 0 {
  11.                         if isDigit(line) {
  12.                                 if len(rawLines) > 0 && x >= 0 && x < len(rawLines) && y >= 0 && y < len(rawLines[0]) {
  13.                                         chars = append(chars, string(rawLines[len(rawLines)-1-y][x]))
  14.                                         rawLines = []string{}
  15.                                 }

  16.                         } else if strings.HasPrefix(line, "[") {
  17.                                 cord := strings.Split(strings.Replace(strings.Replace(line, "[", "", -1), "]", "", -1), ",")
  18.                                 x, _ = strconv.Atoi(cord[0])
  19.                                 y, _ = strconv.Atoi(cord[1])
  20.                         } else {
  21.                                 rawLines = append(rawLines, line)
  22.                         }
  23.                 }
  24.         }

  25.         if len(rawLines) > 0 && x >= 0 && x < len(rawLines) && y >= 0 && y < len(rawLines[0]) {
  26.                 chars = append(chars, string(rawLines[len(rawLines)-1-y][x]))
  27.         }

  28.         sb := strings.Builder{}
  29.         for i := len(chars) - 1; i >= 0; i-- {
  30.                 sb.WriteString(chars[i])
  31.         }
  32.         return sb.String()
  33. }
复制代码
回复

使用道具 举报

🔗
good2study 2022-5-18 00:54:03 | 只看该作者
全局:

复制代码
回复

使用道具 举报

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

本版积分规则

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