Skip to content

Instantly share code, notes, and snippets.

@zjplab
Last active August 17, 2019 01:28
Show Gist options
  • Save zjplab/ab5ffdccbfee53b5e2f47390776cde05 to your computer and use it in GitHub Desktop.
Save zjplab/ab5ffdccbfee53b5e2f47390776cde05 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name leetcode题解助手
// @namespace leetcode_helper
// @version 1.2.0
// @description 查找leetcode题解(九章算法的题解搜索,C++答案搜索, 提供Github上开源的python题解的一键查询按钮,可以直接在谷歌搜索题目名称,还能切换语言)
// @author sherpahu & zjplab
// @icon https://assets.leetcode.com/static_assets/public/webpack_bundles/images/logo-dark.e99485d9b.svg
// @include *://leetcode-cn.com/problems/*
// @include *://leetcode.com/problems/*
/************************************/
// @connect jiuzhang.com
// @connect github.com
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require https://greasyfork.org/scripts/376804-intelligent-weight/code/Intelligent_weight.js?version=702787
// @compatible Chrome
// ==/UserScript==
(function() {
'use strict';
var $ = $ || window.$;
var window_url = window.location.href;
var website_host = window.location.host;
let isGlobal = false;
//leetcode题解助手
var leetcodeHelper={};
leetcodeHelper.addHtml=function(){
//只有leetcode才能通过
if(window_url.indexOf("leetcode.com/problem") != -1){
isGlobal = true;
} else if(window_url.indexOf("leetcode-cn.com/problems") != -1){
isGlobal = false;
} else {
return;
}
//iframe中不再执行
if(window.top != window.self){
return;
}
//左边图标追加
var topBox = "<div style='position:fixed;z-index:999999;background-color:#ccc;cursor:pointer;bottom:50px;right:0px;'>"+
"<div id='search_jiuzhang' style='font-size:13px;padding:10px 2px;color:#FFF;background-color:#25AE84;'>九章</div>"+
"<div id='search_python' style='font-size:13px;padding:10px 2px;color:#FFF;background-color:#DD5A57;'>py</div>"+
"<div id='search_cpp' style='font-size:13px;padding:10px 2px;color:#FFF;background-color:#F621FE;'>cpp</div>"+
"<div id='search_with_google' style='font-size:13px;padding:10px 2px;color:#FFF;background-color:#FE8A23;'>搜索</div>"+
"<div id='change_language' style='font-size:13px;padding:10px 2px;color:#FFF;background-color:#3C22FE;'>切换</div>"+
"</div>";
$("body").append(topBox);
//提取题目名称
var problemName = (window_url.split('/'))[4];
//在九章算术上查找
var jiuzhangUrl = "https://www.jiuzhang.com/solution/@";
$("body").on("click","#search_jiuzhang",function(){
jiuzhangUrl = jiuzhangUrl.replace(/@/g, encodeURIComponent(problemName));
//GM_setValue("document_url",window_url);
window.open(jiuzhangUrl, "_blank");
});
//在https://github.com/csujedihy/lc-all-solutions中找python的答案
var pythonUrl = "https://github.com/csujedihy/lc-all-solutions/tree/master/@";
$("body").on("click","#search_python",function(){
var id = "001";
//const leetcodeId2Name = {"665": "non-decreasing-array", "664": "strange-printer", "662": "maximum-width-of-binary-tree", "661": "image-smoother", "659": "split-array-into-consecutive-subsequences", "658": "find-k-closest-elements", "657": "robot-return-to-origin", "655": "print-binary-tree", "654": "maximum-binary-tree", "653": "two-sum-iv-input-is-a-bst", "652": "find-duplicate-subtrees", "650": "2-keys-keyboard", "649": "dota2-senate", "648": "replace-words", "647": "palindromic-substrings", "646": "maximum-length-of-pair-chain", "645": "set-mismatch", "643": "maximum-average-subarray-i", "640": "solve-the-equation", "639": "decode-ways-ii", "638": "shopping-offers", "637": "average-of-levels-in-binary-tree", "636": "exclusive-time-of-functions", "633": "sum-of-square-numbers", "632": "smallest-range", "630": "course-schedule-iii", "629": "k-inverse-pairs-array", "628": "maximum-product-of-three-numbers", "627": "swap-salary", "626": "exchange-seats", "623": "add-one-row-to-tree", "621": "task-scheduler", "620": "not-boring-movies", "617": "merge-two-binary-trees", "611": "valid-triangle-number", "609": "find-duplicate-file-in-system", "606": "construct-string-from-binary-tree", "605": "can-place-flowers", "601": "human-traffic-of-stadium", "600": "non-negative-integers-without-consecutive-ones", "599": "minimum-index-sum-of-two-lists", "598": "range-addition-ii", "596": "classes-more-than-5-students", "595": "big-countries", "594": "longest-harmonious-subsequence", "593": "valid-square", "592": "fraction-addition-and-subtraction", "591": "tag-validator", "587": "erect-the-fence", "583": "delete-operation-for-two-strings", "581": "shortest-unsorted-continuous-subarray", "576": "out-of-boundary-paths", "575": "distribute-candies", "572": "subtree-of-another-tree", "567": "permutation-in-string", "566": "reshape-the-matrix", "565": "array-nesting", "564": "find-the-closest-palindrome", "563": "binary-tree-tilt", "561": "array-partition-i", "560": "subarray-sum-equals-k", "557": "reverse-words-in-a-string-iii", "556": "next-greater-element-iii", "554": "brick-wall", "553": "optimal-division", "552": "student-attendance-record-ii", "551": "student-attendance-record-i", "547": "friend-circles", "546": "remove-boxes", "543": "diameter-of-binary-tree", "542": "01-matrix", "541": "reverse-string-ii", "540": "single-element-in-a-sorted-array", "539": "minimum-time-difference", "538": "convert-bst-to-greater-tree", "537": "complex-number-multiplication", "535": "encode-and-decode-tinyurl", "532": "k-diff-pairs-in-an-array", "530": "minimum-absolute-difference-in-bst", "529": "minesweeper", "526": "beautiful-arrangement", "525": "contiguous-array", "524": "longest-word-in-dictionary-through-deleting", "523": "continuous-subarray-sum", "522": "longest-uncommon-subsequence-ii", "521": "longest-uncommon-subsequence-i", "520": "detect-capital", "518": "coin-change-2", "517": "super-washing-machines", "516": "longest-palindromic-subsequence", "515": "find-largest-value-in-each-tree-row", "514": "freedom-trail", "513": "find-bottom-left-tree-value", "508": "most-frequent-subtree-sum", "507": "perfect-number", "506": "relative-ranks", "504": "base-7", "503": "next-greater-element-ii", "502": "ipo", "501": "find-mode-in-binary-search-tree", "500": "keyboard-row", "498": "diagonal-traverse", "496": "next-greater-element-i", "495": "teemo-attacking", "494": "target-sum", "493": "reverse-pairs", "492": "construct-the-rectangle", "491": "increasing-subsequences", "488": "zuma-game", "486": "predict-the-winner", "485": "max-consecutive-ones", "483": "smallest-good-base", "482": "license-key-formatting", "481": "magical-string", "480": "sliding-window-median", "479": "largest-palindrome-product", "477": "total-hamming-distance", "476": "number-complement", "475": "heaters", "474": "ones-and-zeroes", "473": "matchsticks-to-square", "472": "concatenated-words", "468": "validate-ip-address", "467": "unique-substrings-in-wraparound-string", "466": "count-the-repetitions", "464": "can-i-win", "463": "island-perimeter", "462": "minimum-moves-to-equal-array-elements-ii", "461": "hamming-distance", "460": "lfu-cache", "459": "repeated-substring-pattern", "458": "poor-pigs", "457": "circular-array-loop", "456": "132-pattern", "455": "assign-cookies", "454": "4sum-ii", "453": "minimum-moves-to-equal-array-elements", "452": "minimum-number-of-arrows-to-burst-balloons", "451": "sort-characters-by-frequency", "450": "delete-node-in-a-bst", "449": "serialize-and-deserialize-bst", "448": "find-all-numbers-disappeared-in-an-array", "447": "number-of-boomerangs", "446": "arithmetic-slices-ii-subsequence", "445": "add-two-numbers-ii", "443": "string-compression", "442": "find-all-duplicates-in-an-array", "441": "arranging-coins", "440": "k-th-smallest-in-lexicographical-order", "438": "find-all-anagrams-in-a-string", "437": "path-sum-iii", "436": "find-right-interval", "435": "non-overlapping-intervals", "434": "number-of-segments-in-a-string", "433": "minimum-genetic-mutation", "432": "all-oone-data-structure", "424": "longest-repeating-character-replacement", "423": "reconstruct-original-digits-from-english", "421": "maximum-xor-of-two-numbers-in-an-array", "420": "strong-password-checker", "419": "battleships-in-a-board", "417": "pacific-atlantic-water-flow", "416": "partition-equal-subset-sum", "415": "add-strings", "414": "third-maximum-number", "413": "arithmetic-slices", "412": "fizz-buzz", "410": "split-array-largest-sum", "409": "longest-palindrome", "407": "trapping-rain-water-ii", "406": "queue-reconstruction-by-height", "405": "convert-a-number-to-hexadecimal", "404": "sum-of-left-leaves", "403": "frog-jump", "402": "remove-k-digits", "401": "binary-watch", "400": "nth-digit", "399": "evaluate-division", "398": "random-pick-index", "397": "integer-replacement", "396": "rotate-function", "395": "longest-substring-with-at-least-k-repeating-characters", "394": "decode-string", "393": "utf-8-validation", "392": "is-subsequence", "391": "perfect-rectangle", "390": "elimination-game", "389": "find-the-difference", "388": "longest-absolute-file-path", "387": "first-unique-character-in-a-string", "386": "lexicographical-numbers", "385": "mini-parser", "384": "shuffle-an-array", "383": "ransom-note", "382": "linked-list-random-node", "381": "insert-delete-getrandom-o1-duplicates-allowed", "380": "insert-delete-getrandom-o1", "378": "kth-smallest-element-in-a-sorted-matrix", "377": "combination-sum-iv", "376": "wiggle-subsequence", "375": "guess-number-higher-or-lower-ii", "374": "guess-number-higher-or-lower", "373": "find-k-pairs-with-smallest-sums", "372": "super-pow", "371": "sum-of-two-integers", "368": "largest-divisible-subset", "367": "valid-perfect-square", "365": "water-and-jug-problem", "363": "max-sum-of-rectangle-no-larger-than-k", "357": "count-numbers-with-unique-digits", "355": "design-twitter", "354": "russian-doll-envelopes", "352": "data-stream-as-disjoint-intervals", "350": "intersection-of-two-arrays-ii", "349": "intersection-of-two-arrays", "347": "top-k-frequent-elements", "345": "reverse-vowels-of-a-string", "344": "reverse-string", "343": "integer-break", "342": "power-of-four", "341": "flatten-nested-list-iterator", "338": "counting-bits", "337": "house-robber-iii", "336": "palindrome-pairs", "335": "self-crossing", "334": "increasing-triplet-subsequence", "332": "reconstruct-itinerary", "331": "verify-preorder-serialization-of-a-binary-tree", "330": "patching-array", "329": "longest-increasing-path-in-a-matrix", "328": "odd-even-linked-list", "327": "count-of-range-sum", "326": "power-of-three", "324": "wiggle-sort-ii", "322": "coin-change", "321": "create-maximum-number", "319": "bulb-switcher", "318": "maximum-product-of-word-lengths", "316": "remove-duplicate-letters", "315": "count-of-smaller-numbers-after-self", "313": "super-ugly-number", "312": "burst-balloons", "310": "minimum-height-trees", "309": "best-time-to-buy-and-sell-stock-with-cooldown", "307": "range-sum-query-mutable", "306": "additive-number", "304": "range-sum-query-2d-immutable", "303": "range-sum-query-immutable", "301": "remove-invalid-parentheses", "300": "longest-increasing-subsequence", "299": "bulls-and-cows", "297": "serialize-and-deserialize-binary-tree", "295": "find-median-from-data-stream", "292": "nim-game", "290": "word-pattern", "289": "game-of-life", "287": "find-the-duplicate-number", "284": "peeking-iterator", "283": "move-zeroes", "282": "expression-add-operators", "279": "perfect-squares", "278": "first-bad-version", "275": "h-index-ii", "274": "h-index", "273": "integer-to-english-words", "268": "missing-number", "264": "ugly-number-ii", "263": "ugly-number", "262": "trips-and-users", "260": "single-number-iii", "258": "add-digits", "257": "binary-tree-paths", "242": "valid-anagram", "241": "different-ways-to-add-parentheses", "240": "search-a-2d-matrix-ii", "239": "sliding-window-maximum", "238": "product-of-array-except-self", "237": "delete-node-in-a-linked-list", "236": "lowest-common-ancestor-of-a-binary-tree", "235": "lowest-common-ancestor-of-a-binary-search-tree", "234": "palindrome-linked-list", "233": "number-of-digit-one", "232": "implement-queue-using-stacks", "231": "power-of-two", "230": "kth-smallest-element-in-a-bst", "229": "majority-element-ii", "228": "summary-ranges", "227": "basic-calculator-ii", "226": "invert-binary-tree", "225": "implement-stack-using-queues", "224": "basic-calculator", "223": "rectangle-area", "222": "count-complete-tree-nodes", "221": "maximal-square", "220": "contains-duplicate-iii", "219": "contains-duplicate-ii", "218": "the-skyline-problem", "217": "contains-duplicate", "216": "combination-sum-iii", "215": "kth-largest-element-in-an-array", "214": "shortest-palindrome", "213": "house-robber-ii", "212": "word-search-ii", "211": "add-and-search-word-data-structure-design", "210": "course-schedule-ii", "209": "minimum-size-subarray-sum", "208": "implement-trie-prefix-tree", "207": "course-schedule", "206": "reverse-linked-list", "205": "isomorphic-strings", "204": "count-primes", "203": "remove-linked-list-elements", "202": "happy-number", "201": "bitwise-and-of-numbers-range", "200": "number-of-islands", "199": "binary-tree-right-side-view", "198": "house-robber", "197": "rising-temperature", "196": "delete-duplicate-emails", "195": "tenth-line", "194": "transpose-file", "193": "valid-phone-numbers", "192": "word-frequency", "191": "number-of-1-bits", "190": "reverse-bits", "189": "rotate-array", "188": "best-time-to-buy-and-sell-stock-iv", "187": "repeated-dna-sequences", "185": "department-top-three-salaries", "184": "department-highest-salary", "183": "customers-who-never-order", "182": "duplicate-emails", "181": "employees-earning-more-than-their-managers", "180": "consecutive-numbers", "179": "largest-number", "178": "rank-scores", "177": "nth-highest-salary", "176": "second-highest-salary", "175": "combine-two-tables", "174": "dungeon-game", "173": "binary-search-tree-iterator", "172": "factorial-trailing-zeroes", "171": "excel-sheet-column-number", "169": "majority-element", "168": "excel-sheet-column-title", "167": "two-sum-ii-input-array-is-sorted", "166": "fraction-to-recurring-decimal", "165": "compare-version-numbers", "164": "maximum-gap", "162": "find-peak-element", "160": "intersection-of-two-linked-lists", "155": "min-stack", "154": "find-minimum-in-rotated-sorted-array-ii", "153": "find-minimum-in-rotated-sorted-array", "152": "maximum-product-subarray", "151": "reverse-words-in-a-string", "150": "evaluate-reverse-polish-notation", "149": "max-points-on-a-line", "148": "sort-list", "147": "insertion-sort-list", "146": "lru-cache", "145": "binary-tree-postorder-traversal", "144": "binary-tree-preorder-traversal", "143": "reorder-list", "142": "linked-list-cycle-ii", "141": "linked-list-cycle", "140": "word-break-ii", "139": "word-break", "138": "copy-list-with-random-pointer", "137": "single-number-ii", "136": "single-number", "135": "candy", "134": "gas-station", "133": "clone-graph", "132": "palindrome-partitioning-ii", "131": "palindrome-partitioning", "130": "surrounded-regions", "129": "sum-root-to-leaf-numbers", "128": "longest-consecutive-sequence", "127": "word-ladder", "126": "word-ladder-ii", "125": "valid-palindrome", "124": "binary-tree-maximum-path-sum", "123": "best-time-to-buy-and-sell-stock-iii", "122": "best-time-to-buy-and-sell-stock-ii", "121": "best-time-to-buy-and-sell-stock", "120": "triangle", "119": "pascals-triangle-ii", "118": "pascals-triangle", "117": "populating-next-right-pointers-in-each-node-ii", "116": "populating-next-right-pointers-in-each-node", "115": "distinct-subsequences", "114": "flatten-binary-tree-to-linked-list", "113": "path-sum-ii", "112": "path-sum", "111": "minimum-depth-of-binary-tree", "110": "balanced-binary-tree", "109": "convert-sorted-list-to-binary-search-tree", "108": "convert-sorted-array-to-binary-search-tree", "107": "binary-tree-level-order-traversal-ii", "106": "construct-binary-tree-from-inorder-and-postorder-traversal", "105": "construct-binary-tree-from-preorder-and-inorder-traversal", "104": "maximum-depth-of-binary-tree", "103": "binary-tree-zigzag-level-order-traversal", "102": "binary-tree-level-order-traversal", "101": "symmetric-tree", "100": "same-tree", "99": "recover-binary-search-tree", "98": "validate-binary-search-tree", "97": "interleaving-string", "96": "unique-binary-search-trees", "95": "unique-binary-search-trees-ii", "94": "binary-tree-inorder-traversal", "93": "restore-ip-addresses", "92": "reverse-linked-list-ii", "91": "decode-ways", "90": "subsets-ii", "89": "gray-code", "88": "merge-sorted-array", "87": "scramble-string", "86": "partition-list", "85": "maximal-rectangle", "84": "largest-rectangle-in-histogram", "83": "remove-duplicates-from-sorted-list", "82": "remove-duplicates-from-sorted-list-ii", "81": "search-in-rotated-sorted-array-ii", "80": "remove-duplicates-from-sorted-array-ii", "79": "word-search", "78": "subsets", "77": "combinations", "76": "minimum-window-substring", "75": "sort-colors", "74": "search-a-2d-matrix", "73": "set-matrix-zeroes", "72": "edit-distance", "71": "simplify-path", "70": "climbing-stairs", "69": "sqrtx", "68": "text-justification", "67": "add-binary", "66": "plus-one", "65": "valid-number", "64": "minimum-path-sum", "63": "unique-paths-ii", "62": "unique-paths", "61": "rotate-list", "60": "permutation-sequence", "59": "spiral-matrix-ii", "58": "length-of-last-word", "57": "insert-interval", "56": "merge-intervals", "55": "jump-game", "54": "spiral-matrix", "53": "maximum-subarray", "52": "n-queens-ii", "51": "n-queens", "50": "powx-n", "49": "group-anagrams", "48": "rotate-image", "47": "permutations-ii", "46": "permutations", "45": "jump-game-ii", "44": "wildcard-matching", "43": "multiply-strings", "42": "trapping-rain-water", "41": "first-missing-positive", "40": "combination-sum-ii", "39": "combination-sum", "38": "count-and-say", "37": "sudoku-solver", "36": "valid-sudoku", "35": "search-insert-position", "34": "find-first-and-last-position-of-element-in-sorted-array", "33": "search-in-rotated-sorted-array", "32": "longest-valid-parentheses", "31": "next-permutation", "30": "substring-with-concatenation-of-all-words", "29": "divide-two-integers", "28": "implement-strstr", "27": "remove-element", "26": "remove-duplicates-from-sorted-array", "25": "reverse-nodes-in-k-group", "24": "swap-nodes-in-pairs", "23": "merge-k-sorted-lists", "22": "generate-parentheses", "21": "merge-two-sorted-lists", "20": "valid-parentheses", "19": "remove-nth-node-from-end-of-list", "18": "4sum", "17": "letter-combinations-of-a-phone-number", "16": "3sum-closest", "15": "3sum", "14": "longest-common-prefix", "13": "roman-to-integer", "12": "integer-to-roman", "11": "container-with-most-water", "10": "regular-expression-matching", "9": "palindrome-number", "8": "string-to-integer-atoi", "7": "reverse-integer", "6": "zigzag-conversion", "5": "longest-palindromic-substring", "4": "median-of-two-sorted-arrays", "3": "longest-substring-without-repeating-characters", "2": "add-two-numbers", "1": "two-sum"}
const leetcodeName2Id = {"non-decreasing-array": "665", "strange-printer": "664", "maximum-width-of-binary-tree": "662", "image-smoother": "661", "split-array-into-consecutive-subsequences": "659", "find-k-closest-elements": "658", "robot-return-to-origin": "657", "print-binary-tree": "655", "maximum-binary-tree": "654", "two-sum-iv-input-is-a-bst": "653", "find-duplicate-subtrees": "652", "2-keys-keyboard": "650", "dota2-senate": "649", "replace-words": "648", "palindromic-substrings": "647", "maximum-length-of-pair-chain": "646", "set-mismatch": "645", "maximum-average-subarray-i": "643", "solve-the-equation": "640", "decode-ways-ii": "639", "shopping-offers": "638", "average-of-levels-in-binary-tree": "637", "exclusive-time-of-functions": "636", "sum-of-square-numbers": "633", "smallest-range": "632", "course-schedule-iii": "630", "k-inverse-pairs-array": "629", "maximum-product-of-three-numbers": "628", "swap-salary": "627", "exchange-seats": "626", "add-one-row-to-tree": "623", "task-scheduler": "621", "not-boring-movies": "620", "merge-two-binary-trees": "617", "valid-triangle-number": "611", "find-duplicate-file-in-system": "609", "construct-string-from-binary-tree": "606", "can-place-flowers": "605", "human-traffic-of-stadium": "601", "non-negative-integers-without-consecutive-ones": "600", "minimum-index-sum-of-two-lists": "599", "range-addition-ii": "598", "classes-more-than-5-students": "596", "big-countries": "595", "longest-harmonious-subsequence": "594", "valid-square": "593", "fraction-addition-and-subtraction": "592", "tag-validator": "591", "erect-the-fence": "587", "delete-operation-for-two-strings": "583", "shortest-unsorted-continuous-subarray": "581", "out-of-boundary-paths": "576", "distribute-candies": "575", "subtree-of-another-tree": "572", "permutation-in-string": "567", "reshape-the-matrix": "566", "array-nesting": "565", "find-the-closest-palindrome": "564", "binary-tree-tilt": "563", "array-partition-i": "561", "subarray-sum-equals-k": "560", "reverse-words-in-a-string-iii": "557", "next-greater-element-iii": "556", "brick-wall": "554", "optimal-division": "553", "student-attendance-record-ii": "552", "student-attendance-record-i": "551", "friend-circles": "547", "remove-boxes": "546", "diameter-of-binary-tree": "543", "01-matrix": "542", "reverse-string-ii": "541", "single-element-in-a-sorted-array": "540", "minimum-time-difference": "539", "convert-bst-to-greater-tree": "538", "complex-number-multiplication": "537", "encode-and-decode-tinyurl": "535", "k-diff-pairs-in-an-array": "532", "minimum-absolute-difference-in-bst": "530", "minesweeper": "529", "beautiful-arrangement": "526", "contiguous-array": "525", "longest-word-in-dictionary-through-deleting": "524", "continuous-subarray-sum": "523", "longest-uncommon-subsequence-ii": "522", "longest-uncommon-subsequence-i": "521", "detect-capital": "520", "coin-change-2": "518", "super-washing-machines": "517", "longest-palindromic-subsequence": "516", "find-largest-value-in-each-tree-row": "515", "freedom-trail": "514", "find-bottom-left-tree-value": "513", "most-frequent-subtree-sum": "508", "perfect-number": "507", "relative-ranks": "506", "base-7": "504", "next-greater-element-ii": "503", "ipo": "502", "find-mode-in-binary-search-tree": "501", "keyboard-row": "500", "diagonal-traverse": "498", "next-greater-element-i": "496", "teemo-attacking": "495", "target-sum": "494", "reverse-pairs": "493", "construct-the-rectangle": "492", "increasing-subsequences": "491", "zuma-game": "488", "predict-the-winner": "486", "max-consecutive-ones": "485", "smallest-good-base": "483", "license-key-formatting": "482", "magical-string": "481", "sliding-window-median": "480", "largest-palindrome-product": "479", "total-hamming-distance": "477", "number-complement": "476", "heaters": "475", "ones-and-zeroes": "474", "matchsticks-to-square": "473", "concatenated-words": "472", "validate-ip-address": "468", "unique-substrings-in-wraparound-string": "467", "count-the-repetitions": "466", "can-i-win": "464", "island-perimeter": "463", "minimum-moves-to-equal-array-elements-ii": "462", "hamming-distance": "461", "lfu-cache": "460", "repeated-substring-pattern": "459", "poor-pigs": "458", "circular-array-loop": "457", "132-pattern": "456", "assign-cookies": "455", "4sum-ii": "454", "minimum-moves-to-equal-array-elements": "453", "minimum-number-of-arrows-to-burst-balloons": "452", "sort-characters-by-frequency": "451", "delete-node-in-a-bst": "450", "serialize-and-deserialize-bst": "449", "find-all-numbers-disappeared-in-an-array": "448", "number-of-boomerangs": "447", "arithmetic-slices-ii-subsequence": "446", "add-two-numbers-ii": "445", "string-compression": "443", "find-all-duplicates-in-an-array": "442", "arranging-coins": "441", "k-th-smallest-in-lexicographical-order": "440", "find-all-anagrams-in-a-string": "438", "path-sum-iii": "437", "find-right-interval": "436", "non-overlapping-intervals": "435", "number-of-segments-in-a-string": "434", "minimum-genetic-mutation": "433", "all-oone-data-structure": "432", "longest-repeating-character-replacement": "424", "reconstruct-original-digits-from-english": "423", "maximum-xor-of-two-numbers-in-an-array": "421", "strong-password-checker": "420", "battleships-in-a-board": "419", "pacific-atlantic-water-flow": "417", "partition-equal-subset-sum": "416", "add-strings": "415", "third-maximum-number": "414", "arithmetic-slices": "413", "fizz-buzz": "412", "split-array-largest-sum": "410", "longest-palindrome": "409", "trapping-rain-water-ii": "407", "queue-reconstruction-by-height": "406", "convert-a-number-to-hexadecimal": "405", "sum-of-left-leaves": "404", "frog-jump": "403", "remove-k-digits": "402", "binary-watch": "401", "nth-digit": "400", "evaluate-division": "399", "random-pick-index": "398", "integer-replacement": "397", "rotate-function": "396", "longest-substring-with-at-least-k-repeating-characters": "395", "decode-string": "394", "utf-8-validation": "393", "is-subsequence": "392", "perfect-rectangle": "391", "elimination-game": "390", "find-the-difference": "389", "longest-absolute-file-path": "388", "first-unique-character-in-a-string": "387", "lexicographical-numbers": "386", "mini-parser": "385", "shuffle-an-array": "384", "ransom-note": "383", "linked-list-random-node": "382", "insert-delete-getrandom-o1-duplicates-allowed": "381", "insert-delete-getrandom-o1": "380", "kth-smallest-element-in-a-sorted-matrix": "378", "combination-sum-iv": "377", "wiggle-subsequence": "376", "guess-number-higher-or-lower-ii": "375", "guess-number-higher-or-lower": "374", "find-k-pairs-with-smallest-sums": "373", "super-pow": "372", "sum-of-two-integers": "371", "largest-divisible-subset": "368", "valid-perfect-square": "367", "water-and-jug-problem": "365", "max-sum-of-rectangle-no-larger-than-k": "363", "count-numbers-with-unique-digits": "357", "design-twitter": "355", "russian-doll-envelopes": "354", "data-stream-as-disjoint-intervals": "352", "intersection-of-two-arrays-ii": "350", "intersection-of-two-arrays": "349", "top-k-frequent-elements": "347", "reverse-vowels-of-a-string": "345", "reverse-string": "344", "integer-break": "343", "power-of-four": "342", "flatten-nested-list-iterator": "341", "counting-bits": "338", "house-robber-iii": "337", "palindrome-pairs": "336", "self-crossing": "335", "increasing-triplet-subsequence": "334", "reconstruct-itinerary": "332", "verify-preorder-serialization-of-a-binary-tree": "331", "patching-array": "330", "longest-increasing-path-in-a-matrix": "329", "odd-even-linked-list": "328", "count-of-range-sum": "327", "power-of-three": "326", "wiggle-sort-ii": "324", "coin-change": "322", "create-maximum-number": "321", "bulb-switcher": "319", "maximum-product-of-word-lengths": "318", "remove-duplicate-letters": "316", "count-of-smaller-numbers-after-self": "315", "super-ugly-number": "313", "burst-balloons": "312", "minimum-height-trees": "310", "best-time-to-buy-and-sell-stock-with-cooldown": "309", "range-sum-query-mutable": "307", "additive-number": "306", "range-sum-query-2d-immutable": "304", "range-sum-query-immutable": "303", "remove-invalid-parentheses": "301", "longest-increasing-subsequence": "300", "bulls-and-cows": "299", "serialize-and-deserialize-binary-tree": "297", "find-median-from-data-stream": "295", "nim-game": "292", "word-pattern": "290", "game-of-life": "289", "find-the-duplicate-number": "287", "peeking-iterator": "284", "move-zeroes": "283", "expression-add-operators": "282", "perfect-squares": "279", "first-bad-version": "278", "h-index-ii": "275", "h-index": "274", "integer-to-english-words": "273", "missing-number": "268", "ugly-number-ii": "264", "ugly-number": "263", "trips-and-users": "262", "single-number-iii": "260", "add-digits": "258", "binary-tree-paths": "257", "valid-anagram": "242", "different-ways-to-add-parentheses": "241", "search-a-2d-matrix-ii": "240", "sliding-window-maximum": "239", "product-of-array-except-self": "238", "delete-node-in-a-linked-list": "237", "lowest-common-ancestor-of-a-binary-tree": "236", "lowest-common-ancestor-of-a-binary-search-tree": "235", "palindrome-linked-list": "234", "number-of-digit-one": "233", "implement-queue-using-stacks": "232", "power-of-two": "231", "kth-smallest-element-in-a-bst": "230", "majority-element-ii": "229", "summary-ranges": "228", "basic-calculator-ii": "227", "invert-binary-tree": "226", "implement-stack-using-queues": "225", "basic-calculator": "224", "rectangle-area": "223", "count-complete-tree-nodes": "222", "maximal-square": "221", "contains-duplicate-iii": "220", "contains-duplicate-ii": "219", "the-skyline-problem": "218", "contains-duplicate": "217", "combination-sum-iii": "216", "kth-largest-element-in-an-array": "215", "shortest-palindrome": "214", "house-robber-ii": "213", "word-search-ii": "212", "add-and-search-word-data-structure-design": "211", "course-schedule-ii": "210", "minimum-size-subarray-sum": "209", "implement-trie-prefix-tree": "208", "course-schedule": "207", "reverse-linked-list": "206", "isomorphic-strings": "205", "count-primes": "204", "remove-linked-list-elements": "203", "happy-number": "202", "bitwise-and-of-numbers-range": "201", "number-of-islands": "200", "binary-tree-right-side-view": "199", "house-robber": "198", "rising-temperature": "197", "delete-duplicate-emails": "196", "tenth-line": "195", "transpose-file": "194", "valid-phone-numbers": "193", "word-frequency": "192", "number-of-1-bits": "191", "reverse-bits": "190", "rotate-array": "189", "best-time-to-buy-and-sell-stock-iv": "188", "repeated-dna-sequences": "187", "department-top-three-salaries": "185", "department-highest-salary": "184", "customers-who-never-order": "183", "duplicate-emails": "182", "employees-earning-more-than-their-managers": "181", "consecutive-numbers": "180", "largest-number": "179", "rank-scores": "178", "nth-highest-salary": "177", "second-highest-salary": "176", "combine-two-tables": "175", "dungeon-game": "174", "binary-search-tree-iterator": "173", "factorial-trailing-zeroes": "172", "excel-sheet-column-number": "171", "majority-element": "169", "excel-sheet-column-title": "168", "two-sum-ii-input-array-is-sorted": "167", "fraction-to-recurring-decimal": "166", "compare-version-numbers": "165", "maximum-gap": "164", "find-peak-element": "162", "intersection-of-two-linked-lists": "160", "min-stack": "155", "find-minimum-in-rotated-sorted-array-ii": "154", "find-minimum-in-rotated-sorted-array": "153", "maximum-product-subarray": "152", "reverse-words-in-a-string": "151", "evaluate-reverse-polish-notation": "150", "max-points-on-a-line": "149", "sort-list": "148", "insertion-sort-list": "147", "lru-cache": "146", "binary-tree-postorder-traversal": "145", "binary-tree-preorder-traversal": "144", "reorder-list": "143", "linked-list-cycle-ii": "142", "linked-list-cycle": "141", "word-break-ii": "140", "word-break": "139", "copy-list-with-random-pointer": "138", "single-number-ii": "137", "single-number": "136", "candy": "135", "gas-station": "134", "clone-graph": "133", "palindrome-partitioning-ii": "132", "palindrome-partitioning": "131", "surrounded-regions": "130", "sum-root-to-leaf-numbers": "129", "longest-consecutive-sequence": "128", "word-ladder": "127", "word-ladder-ii": "126", "valid-palindrome": "125", "binary-tree-maximum-path-sum": "124", "best-time-to-buy-and-sell-stock-iii": "123", "best-time-to-buy-and-sell-stock-ii": "122", "best-time-to-buy-and-sell-stock": "121", "triangle": "120", "pascals-triangle-ii": "119", "pascals-triangle": "118", "populating-next-right-pointers-in-each-node-ii": "117", "populating-next-right-pointers-in-each-node": "116", "distinct-subsequences": "115", "flatten-binary-tree-to-linked-list": "114", "path-sum-ii": "113", "path-sum": "112", "minimum-depth-of-binary-tree": "111", "balanced-binary-tree": "110", "convert-sorted-list-to-binary-search-tree": "109", "convert-sorted-array-to-binary-search-tree": "108", "binary-tree-level-order-traversal-ii": "107", "construct-binary-tree-from-inorder-and-postorder-traversal": "106", "construct-binary-tree-from-preorder-and-inorder-traversal": "105", "maximum-depth-of-binary-tree": "104", "binary-tree-zigzag-level-order-traversal": "103", "binary-tree-level-order-traversal": "102", "symmetric-tree": "101", "same-tree": "100", "recover-binary-search-tree": "99", "validate-binary-search-tree": "98", "interleaving-string": "97", "unique-binary-search-trees": "96", "unique-binary-search-trees-ii": "95", "binary-tree-inorder-traversal": "94", "restore-ip-addresses": "93", "reverse-linked-list-ii": "92", "decode-ways": "91", "subsets-ii": "90", "gray-code": "89", "merge-sorted-array": "88", "scramble-string": "87", "partition-list": "86", "maximal-rectangle": "85", "largest-rectangle-in-histogram": "84", "remove-duplicates-from-sorted-list": "83", "remove-duplicates-from-sorted-list-ii": "82", "search-in-rotated-sorted-array-ii": "81", "remove-duplicates-from-sorted-array-ii": "80", "word-search": "79", "subsets": "78", "combinations": "77", "minimum-window-substring": "76", "sort-colors": "75", "search-a-2d-matrix": "74", "set-matrix-zeroes": "73", "edit-distance": "72", "simplify-path": "71", "climbing-stairs": "70", "sqrtx": "69", "text-justification": "68", "add-binary": "67", "plus-one": "66", "valid-number": "65", "minimum-path-sum": "64", "unique-paths-ii": "63", "unique-paths": "62", "rotate-list": "61", "permutation-sequence": "60", "spiral-matrix-ii": "59", "length-of-last-word": "58", "insert-interval": "57", "merge-intervals": "56", "jump-game": "55", "spiral-matrix": "54", "maximum-subarray": "53", "n-queens-ii": "52", "n-queens": "51", "powx-n": "50", "group-anagrams": "49", "rotate-image": "48", "permutations-ii": "47", "permutations": "46", "jump-game-ii": "45", "wildcard-matching": "44", "multiply-strings": "43", "trapping-rain-water": "42", "first-missing-positive": "41", "combination-sum-ii": "40", "combination-sum": "39", "count-and-say": "38", "sudoku-solver": "37", "valid-sudoku": "36", "search-insert-position": "35", "find-first-and-last-position-of-element-in-sorted-array": "34", "search-in-rotated-sorted-array": "33", "longest-valid-parentheses": "32", "next-permutation": "31", "substring-with-concatenation-of-all-words": "30", "divide-two-integers": "29", "implement-strstr": "28", "remove-element": "27", "remove-duplicates-from-sorted-array": "26", "reverse-nodes-in-k-group": "25", "swap-nodes-in-pairs": "24", "merge-k-sorted-lists": "23", "generate-parentheses": "22", "merge-two-sorted-lists": "21", "valid-parentheses": "20", "remove-nth-node-from-end-of-list": "19", "4sum": "18", "letter-combinations-of-a-phone-number": "17", "3sum-closest": "16", "3sum": "15", "longest-common-prefix": "14", "roman-to-integer": "13", "integer-to-roman": "12", "container-with-most-water": "11", "regular-expression-matching": "10", "palindrome-number": "9", "string-to-integer-atoi": "8", "reverse-integer": "7", "zigzag-conversion": "6", "longest-palindromic-substring": "5", "median-of-two-sorted-arrays": "4", "longest-substring-without-repeating-characters": "3", "add-two-numbers": "2", "two-sum": "1"}
if (problemName in leetcodeName2Id) {
id = leetcodeName2Id[problemName];
for(var len = (id + "").length; len < 3; len = id.length) {
id = "0" + id;
}
pythonUrl = pythonUrl.replace(/@/g, id+"."+problemName);
window.open(pythonUrl, "_blank");
} else {
console.log('Sorry, I can not find it! Try to search it.');
}
});
//在https://github.com/grandyang/leetcode中找c++的答案
$("body").on("click","#search_cpp",function(){
var url='https://github.com/grandyang/leetcode/issues/';
var number=$('div[data-cy="question-title"]').html().split('.')[0];
url +=number;
window.open(url, "_blank");
});
//利用谷歌搜索题目名称
$("body").on("click","#search_with_google",function(){
var searchName = problemName.replace(/-/g, encodeURIComponent(' '));
var searchUrl = "https://www.google.com/search?q=";
searchUrl = searchUrl+searchName+encodeURIComponent(" leetcode");
window.open(searchUrl, "_blank");
});
//切换语言,英语到汉语或汉语到英语
$("body").on("click","#change_language",function(){
var changedUrl;
if(isGlobal){
changedUrl = "https://leetcode-cn.com/problems/"+problemName;
} else {
changedUrl = "https://leetcode.com/problems/"+problemName;
}
window.open(changedUrl, "_blank");
});
};
leetcodeHelper.init=function(){
leetcodeHelper.addHtml();
}
leetcodeHelper.init();
})();
@zjplab
Copy link
Author

zjplab commented Aug 17, 2019

How to use:

  • Install Tampermonkey plugin on Chrome
  • Copy and paste this script to Tampermoney

Good luck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment