leetcode-helper

LeetCode 题解助手 | 复制 LeetCode 题目描述 | 生成当前题目题解模板

As of 2022-05-03. See the latest version.

  1. // ==UserScript==
  2. // @name leetcode-helper
  3. // @namespace https://github.com/tonngw
  4. // @version 1.0.0
  5. // @description LeetCode 题解助手 | 复制 LeetCode 题目描述 | 生成当前题目题解模板
  6. // @author tonngw
  7. // @match https://leetcode-cn.com/problems/*
  8. // @icon data:image/x-icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BEhIScAcJCP0GBwf/BgcH/wYHB/8GBwf/BgcH/wcICPkUFxdkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////ARMRE3YICAj9BgcH/wYHB/8GBwf/BgcH/wYHB/8LDAzwJiYmLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wERERF2CAgJ/QYHB/8GBwf/BgcH/wYHB/8GBwf/EhISYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BEREUdQcICPwFBgb/BgcH/wYHB/8ICQn/HBwcSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////ARQUFHEJCgr2BwgI/wgJCf8QEBKdSUlJBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlKSk+JiYmhiYmJldVVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEA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
  9. // @require https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js
  10. // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js
  11. // @require https://unpkg.com/sweetalert/dist/sweetalert.min.js
  12. // @require https://unpkg.com/turndown/dist/turndown.js
  13. // @grant GM_registerMenuCommand
  14. // @grant GM_setClipboard
  15. // @license MIT
  16. // ==/UserScript==
  17.  
  18. (function () {
  19. 'use strict';
  20.  
  21. // 初始化 html to markdown 转换工具
  22. var turndownService = new TurndownService();
  23.  
  24. const window = unsafeWindow;
  25. const description = '.description__2b0C';
  26. var content = '';
  27.  
  28. // 注入菜单
  29. GM_registerMenuCommand("复制 LeetCode 题目为 Markdown,并存入剪切板", copy);
  30. GM_registerMenuCommand("生成当前题目的题解模板,并存入剪切板", generateSolution);
  31.  
  32. // 添加复制按钮
  33. var copyBtn = document.createElement("button"); //创建一个 input 对象(提示框按钮)
  34. copyBtn.id = "copyBtn";
  35. copyBtn.textContent = "复制";
  36. copyBtn.style.width = "50px";
  37. copyBtn.style.height = "20px";
  38. copyBtn.style.align = "center";
  39. copyBtn.style.marginLeft = "10px";
  40. copyBtn.style.marginTop = "15px";
  41.  
  42. // 添加生成题解按钮
  43. var generateSolutionBtn = document.createElement("button"); // 创建一个input对象(提示框按钮)
  44. generateSolutionBtn.id = "generateSolutionBtn";
  45. generateSolutionBtn.textContent = "生成";
  46. generateSolutionBtn.style.width = "50px";
  47. generateSolutionBtn.style.height = "20px";
  48. generateSolutionBtn.style.align = "center";
  49. generateSolutionBtn.style.marginLeft = "10px";
  50. generateSolutionBtn.style.marginTop = "15px";
  51.  
  52.  
  53. waitForKeyElements(description, function () {
  54. var x = document.getElementsByClassName("css-10c1h40-Title eugt34i1")[0];
  55. x.appendChild(copyBtn);
  56. x.appendChild(generateSolutionBtn);
  57. });
  58.  
  59. // 为复制按钮绑定点击功能
  60. copyBtn.onclick = function (e) {
  61. e.preventDefault();
  62. copy();
  63. };
  64.  
  65. // 为复制按钮绑定点击功能
  66. generateSolutionBtn.onclick = function (e) {
  67. e.preventDefault();
  68. generateSolution();
  69. };
  70. // 监听键盘按键,为功能绑定快捷键
  71. unsafeWindow.addEventListener("keydown", (evt) => {
  72. // console.log('evt', evt);
  73. if (evt.altKey) {
  74. // Alt + T 复制题目
  75. if (evt.keyCode == 84) {
  76. copy();
  77. }
  78. // Alt + C 生成当前题目题解模板
  79. if (evt.keyCode == 67) {
  80. generateSolution();
  81. }
  82. }
  83. });
  84.  
  85. // 题目复制功能实现
  86. function copy() {
  87. copyImpl();
  88. GM_setClipboard(content);
  89. swal({
  90. icon: "success",
  91. title: "复制成功",
  92. });
  93. }
  94.  
  95. function copyImpl() {
  96. // 题目描述 内容 Dom
  97. var contentDom = $('.content__1Y2H')[0].outerHTML;
  98. content = handleHtml(contentDom);
  99. }
  100.  
  101. // 生成题解功能实现
  102. function generateSolution() {
  103. generateSolutionImpl();
  104. swal({
  105. icon: "success",
  106. title: "生成成功",
  107. });
  108. }
  109.  
  110. function generateSolutionImpl() {
  111. var solutionTemplate = "";
  112. var problemDescConst = "### 题目描述\n";
  113. copyImpl();
  114. var problemDesc = content;
  115. var splitLine = "\n\n---\n";
  116. var algorithmConst = "### 算法\n"
  117. var specificAlgorithmConst = "#### (暴力枚举) $O(n^2)$\n";
  118. var solution = "\nwrite here...\n"
  119. var timeComplexityConst = "#### 时间复杂度";
  120. var timeComplexity = "\nwrite here...\n"
  121. var spaceComplexityConst = "#### 空间复杂度";
  122. var spaceComplexity = "\nwrite here...\n";
  123. var codeConst = "#### C++ 代码\n";
  124. var code = "```\n" + "my code...\n" + "```\n";
  125. solutionTemplate = problemDescConst + problemDesc + splitLine + algorithmConst + specificAlgorithmConst +
  126. solution + timeComplexityConst + timeComplexity + spaceComplexityConst + spaceComplexity + codeConst + code;
  127. GM_setClipboard(solutionTemplate);
  128. }
  129.  
  130. /**
  131. * html 转 markdown
  132. * @param html
  133. * @returns {void|*}
  134. */
  135. function handleHtml(html) {
  136. turndownService.addRule('strikethrough', {
  137. filter: ['pre'],
  138. replacement: function (content, node) {
  139. // console.log(node.innerText);
  140. return '\n```\n' + node.innerText.trim() + '\n```\n\n';
  141. }
  142. });
  143. turndownService.addRule('strikethrough', {
  144. filter: ['strong'],
  145. replacement: function (content) {
  146. return ' **' + content + "** "
  147. }
  148. });
  149. turndownService.addRule('strikethrough', {
  150. filter: ['code'],
  151. replacement: function (content) {
  152. return '$' + content + "$"
  153. }
  154. });
  155. turndownService.addRule('strikethrough', {
  156. filter: ['sup'],
  157. replacement: function (content) {
  158. return '^' + content + ""
  159. }
  160. });
  161.  
  162. let target = $("div[class='notranslate']");
  163. target.markdown = turndownService.turndown($(target).html());
  164. return target.markdown
  165. }
  166. })();