免费建站资源,厦门网站建设有哪些公司,wordpress 插件打不开,百度指数工具来自太空的 X 帖子 埃隆马斯克#xff08;Elon Musk#xff09;旗下太空探索技术公司 SpaceX 于 2 月 26 号#xff0c;从太空往社交平台 X#xff08;前身为推特#xff0c;已被马斯克全资收购并改名#xff09;发布帖子。 这是 SpaceX 官号首次通过星链来发送 X 帖子Elon Musk旗下太空探索技术公司 SpaceX 于 2 月 26 号从太空往社交平台 X前身为推特已被马斯克全资收购并改名发布帖子。 这是 SpaceX 官号首次通过星链来发送 X 帖子马斯克对此表示祝贺和肯定。 对于此事马斯克多次强调该帖子是由 SpaceX 从一部普通手机直接发到卫星上的中间没有任何特殊设备 ... 回到主线。 来做一道和「特斯拉」相关的面试算法题。 题目描述 平台LeetCode 题号777 在一个由 L ,R 和 X 三个字符组成的字符串例如 RXXLRXRXL中进行移动操作。 一次移动操作指用一个 LX 替换一个 XL或者用一个 XR 替换一个 RX。 现给定起始字符串 start 和结束字符串 end请编写代码当且仅当存在一系列移动操作使得 start 可以转换成 end 时 返回 True。 示例 : 输入: start RXXLRXRXL, end XRLXXRRLX输出: True解释:我们可以通过以下几步将start转换成end:RXXLRXRXL -XRXLRXRXL -XRLXRXRXL -XRLXXRRXL -XRLXXRRLX 提示 start 和 end 中的字符串仅限于 L, R 和 X 双指针 根据题意我们每次移动要么是将 XL 变为 LX要么是将 RX 变为 XR而该两者操作可分别看做将 L 越过多个 X 向左移动将 R 越过多个 X 向右移动。 因此在 start 和 end 中序号相同的 L 和 R 必然满足坐标性质 序号相同的 L : start 的下标不小于 end 的下标即 L 不能往右移动 序号相同的 R : start 的下标不大于 end 的下标即 R 不能往左移动 其中「序号」是指在 LR 字符串中出现的相对顺序。 Java 代码 class Solution { public boolean canTransform(String start, String end) { int n start.length(), i 0, j 0; while (i n || j n) { while (i n start.charAt(i) X) i; while (j n end.charAt(j) X) j; if (i n || j n) return i j; if (start.charAt(i) ! end.charAt(j)) return false; if (start.charAt(i) L i j) return false; if (start.charAt(i) R i j) return false; i; j; } return i j; }} C 代码 class Solution {public: bool canTransform(string start, string end) { int n start.size(); int i 0, j 0; while (i n || j n) { while (i n start[i] X) i; while (j n end[j] X) j; if (i n || j n) return i j; if (start[i] ! end[j]) return false; if (start[i] L i j) return false; if (start[i] R i j) return false; i; j; } return i j; }}; Python 代码 class Solution: def canTransform(self, start: str, end: str) - bool: i, j, n 0, 0, len(start) while i n or j n: while i n and start[i] X: i 1 while j n and end[j] X: j 1 if i n or j n: return i j if start[i] ! end[j]: return False if start[i] L and i j: return False if start[i] R and i j: return False i, j i 1, j 1 return i j TypeScript 代码 function canTransform(start: string, end: string): boolean { let n start.length; let i 0, j 0; while (i n || j n) { while (i n start.charAt(i) X) i; while (j n end.charAt(j) X) j; if (i n || j n) return i j; if (start.charAt(i) ! end.charAt(j)) return false; if (start.charAt(i) L i j) return false; if (start.charAt(i) R i j) return false; i; j; } return i j;}; 时间复杂度 空间复杂度 我是宫水三叶每天都会分享算法知识并和大家聊聊近期的所见所闻。 欢迎关注明天见。 更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地