1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-05 23:41:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/originData/concatenated-divisibility.json
2025-05-15 01:05:54 +08:00

197 lines
32 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"data": {
"question": {
"questionId": "3841",
"questionFrontendId": "3533",
"categoryTitle": "Algorithms",
"boundTopicId": 3662484,
"title": "Concatenated Divisibility",
"titleSlug": "concatenated-divisibility",
"content": "<p data-end=\"378\" data-start=\"31\">You are given an array of positive integers <code data-end=\"85\" data-start=\"79\">nums</code> and a positive integer <code data-end=\"112\" data-start=\"109\">k</code>.</p>\n\n<p data-end=\"378\" data-start=\"31\">A <span data-keyword=\"permutation-array\">permutation</span> of <code data-end=\"137\" data-start=\"131\">nums</code> is said to form a <strong data-end=\"183\" data-start=\"156\">divisible concatenation</strong> if, when you <em>concatenate</em> <em>the decimal representations</em> of the numbers in the order specified by the permutation, the resulting number is <strong>divisible by</strong> <code data-end=\"359\" data-start=\"356\">k</code>.</p>\n\n<p data-end=\"561\" data-start=\"380\">Return the <strong><span data-keyword=\"lexicographically-smaller-string\">lexicographically smallest</span></strong> permutation (when considered as a list of integers) that forms a <strong>divisible concatenation</strong>. If no such permutation exists, return an empty list.</p>\n\n<p>&nbsp;</p>\n<p><strong class=\"example\">Example 1:</strong></p>\n\n<div class=\"example-block\">\n<p><strong>Input:</strong> <span class=\"example-io\">nums = [3,12,45], k = 5</span></p>\n\n<p><strong>Output:</strong> <span class=\"example-io\">[3,12,45]</span></p>\n\n<p><strong>Explanation:</strong></p>\n\n<table data-end=\"896\" data-start=\"441\" node=\"[object Object]\" style=\"border: 1px solid black;\">\n\t<thead data-end=\"497\" data-start=\"441\">\n\t\t<tr data-end=\"497\" data-start=\"441\">\n\t\t\t<th data-end=\"458\" data-start=\"441\" style=\"border: 1px solid black;\">Permutation</th>\n\t\t\t<th data-end=\"479\" data-start=\"458\" style=\"border: 1px solid black;\">Concatenated Value</th>\n\t\t\t<th data-end=\"497\" data-start=\"479\" style=\"border: 1px solid black;\">Divisible by 5</th>\n\t\t</tr>\n\t</thead>\n\t<tbody data-end=\"896\" data-start=\"555\">\n\t\t<tr data-end=\"611\" data-start=\"555\">\n\t\t\t<td style=\"border: 1px solid black;\">[3, 12, 45]</td>\n\t\t\t<td style=\"border: 1px solid black;\">31245</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t</tr>\n\t\t<tr data-end=\"668\" data-start=\"612\">\n\t\t\t<td style=\"border: 1px solid black;\">[3, 45, 12]</td>\n\t\t\t<td style=\"border: 1px solid black;\">34512</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t</tr>\n\t\t<tr data-end=\"725\" data-start=\"669\">\n\t\t\t<td style=\"border: 1px solid black;\">[12, 3, 45]</td>\n\t\t\t<td style=\"border: 1px solid black;\">12345</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t</tr>\n\t\t<tr data-end=\"782\" data-start=\"726\">\n\t\t\t<td style=\"border: 1px solid black;\">[12, 45, 3]</td>\n\t\t\t<td style=\"border: 1px solid black;\">12453</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t</tr>\n\t\t<tr data-end=\"839\" data-start=\"783\">\n\t\t\t<td style=\"border: 1px solid black;\">[45, 3, 12]</td>\n\t\t\t<td style=\"border: 1px solid black;\">45312</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t</tr>\n\t\t<tr data-end=\"896\" data-start=\"840\">\n\t\t\t<td style=\"border: 1px solid black;\">[45, 12, 3]</td>\n\t\t\t<td style=\"border: 1px solid black;\">45123</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p data-end=\"1618\" data-start=\"1525\">The lexicographically smallest permutation that forms a divisible concatenation is <code>[3,12,45]</code>.</p>\n</div>\n\n<p><strong class=\"example\">Example 2:</strong></p>\n\n<div class=\"example-block\">\n<p><strong>Input:</strong> <span class=\"example-io\">nums = [10,5], k = 10</span></p>\n\n<p><strong>Output:</strong> <span class=\"example-io\">[5,10]</span></p>\n\n<p><strong>Explanation:</strong></p>\n\n<table data-end=\"1421\" data-start=\"1200\" node=\"[object Object]\" style=\"border: 1px solid black;\">\n\t<thead data-end=\"1255\" data-start=\"1200\">\n\t\t<tr data-end=\"1255\" data-start=\"1200\">\n\t\t\t<th data-end=\"1216\" data-start=\"1200\" style=\"border: 1px solid black;\">Permutation</th>\n\t\t\t<th data-end=\"1237\" data-start=\"1216\" style=\"border: 1px solid black;\">Concatenated Value</th>\n\t\t\t<th data-end=\"1255\" data-start=\"1237\" style=\"border: 1px solid black;\">Divisible by 10</th>\n\t\t</tr>\n\t</thead>\n\t<tbody data-end=\"1421\" data-start=\"1312\">\n\t\t<tr data-end=\"1366\" data-start=\"1312\">\n\t\t\t<td style=\"border: 1px solid black;\">[5, 10]</td>\n\t\t\t<td style=\"border: 1px solid black;\">510</td>\n\t\t\t<td style=\"border: 1px solid black;\">Yes</td>\n\t\t</tr>\n\t\t<tr data-end=\"1421\" data-start=\"1367\">\n\t\t\t<td style=\"border: 1px solid black;\">[10, 5]</td>\n\t\t\t<td style=\"border: 1px solid black;\">105</td>\n\t\t\t<td style=\"border: 1px solid black;\">No</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p data-end=\"2011\" data-start=\"1921\">The lexicographically smallest permutation that forms a divisible concatenation is <code>[5,10]</code>.</p>\n</div>\n\n<p><strong class=\"example\">Example 3:</strong></p>\n\n<div class=\"example-block\">\n<p><strong>Input:</strong> <span class=\"example-io\">nums = [1,2,3], k = 5</span></p>\n\n<p><strong>Output:</strong> <span class=\"example-io\">[]</span></p>\n\n<p><strong>Explanation:</strong></p>\n\n<p>Since no permutation of <code data-end=\"177\" data-start=\"171\">nums</code> forms a valid divisible concatenation, return an empty list.</p>\n</div>\n\n<p>&nbsp;</p>\n<p><strong>Constraints:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= nums.length &lt;= 13</code></li>\n\t<li><code>1 &lt;= nums[i] &lt;= 10<sup>5</sup></code></li>\n\t<li><code>1 &lt;= k &lt;= 100</code></li>\n</ul>\n",
"translatedTitle": "判断连接可整除性",
"translatedContent": "<p data-end=\"378\" data-start=\"31\">给你一个正整数数组 <code data-end=\"85\" data-start=\"79\">nums</code> 和一个正整数 <code data-end=\"112\" data-start=\"109\">k</code>。</p>\n\n<p data-end=\"378\" data-start=\"31\">当&nbsp;<code data-end=\"137\" data-start=\"131\">nums</code>&nbsp;的一个 <span data-keyword=\"permutation-array\">排列</span> 中的所有数字,按照排列顺序&nbsp;<strong data-end=\"183\" data-start=\"156\">连接其十进制表示&nbsp;</strong>后形成的数可以&nbsp;<strong>被</strong> <code data-end=\"359\" data-start=\"356\">k</code>&nbsp; 整除时,我们称该排列形成了一个&nbsp;<strong>可整除连接&nbsp;</strong>。</p>\n\n<p data-end=\"561\" data-start=\"380\">返回能够形成&nbsp;<strong>可整除连接 </strong>且&nbsp;<strong><span data-keyword=\"lexicographically-smaller-string\">字典序</span> 最小 </strong>的排列(按整数列表的形式表示)。如果不存在这样的排列,返回一个空列表。</p>\n\n<p>&nbsp;</p>\n\n<p><strong class=\"example\">示例 1</strong></p>\n\n<div class=\"example-block\">\n<p><strong>输入:</strong> <span class=\"example-io\">nums = [3,12,45], k = 5</span></p>\n\n<p><strong>输出:</strong> <span class=\"example-io\">[3,12,45]</span></p>\n\n<p><strong>解释:</strong></p>\n\n<table data-end=\"896\" data-start=\"441\" node=\"[object Object]\" style=\"border: 1px solid black;\">\n\t<thead data-end=\"497\" data-start=\"441\">\n\t\t<tr data-end=\"497\" data-start=\"441\">\n\t\t\t<th data-end=\"458\" data-start=\"441\" style=\"border: 1px solid black;\">排列</th>\n\t\t\t<th data-end=\"479\" data-start=\"458\" style=\"border: 1px solid black;\">连接后的值</th>\n\t\t\t<th data-end=\"497\" data-start=\"479\" style=\"border: 1px solid black;\">是否能被 5 整除</th>\n\t\t</tr>\n\t</thead>\n\t<tbody data-end=\"896\" data-start=\"555\">\n\t\t<tr data-end=\"611\" data-start=\"555\">\n\t\t\t<td style=\"border: 1px solid black;\">[3, 12, 45]</td>\n\t\t\t<td style=\"border: 1px solid black;\">31245</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t</tr>\n\t\t<tr data-end=\"668\" data-start=\"612\">\n\t\t\t<td style=\"border: 1px solid black;\">[3, 45, 12]</td>\n\t\t\t<td style=\"border: 1px solid black;\">34512</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t</tr>\n\t\t<tr data-end=\"725\" data-start=\"669\">\n\t\t\t<td style=\"border: 1px solid black;\">[12, 3, 45]</td>\n\t\t\t<td style=\"border: 1px solid black;\">12345</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t</tr>\n\t\t<tr data-end=\"782\" data-start=\"726\">\n\t\t\t<td style=\"border: 1px solid black;\">[12, 45, 3]</td>\n\t\t\t<td style=\"border: 1px solid black;\">12453</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t</tr>\n\t\t<tr data-end=\"839\" data-start=\"783\">\n\t\t\t<td style=\"border: 1px solid black;\">[45, 3, 12]</td>\n\t\t\t<td style=\"border: 1px solid black;\">45312</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t</tr>\n\t\t<tr data-end=\"896\" data-start=\"840\">\n\t\t\t<td style=\"border: 1px solid black;\">[45, 12, 3]</td>\n\t\t\t<td style=\"border: 1px solid black;\">45123</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p data-end=\"1618\" data-start=\"1525\">可以形成可整除连接且字典序最小的排列是 <code>[3,12,45]</code>。</p>\n</div>\n\n<p><strong class=\"example\">示例 2</strong></p>\n\n<div class=\"example-block\">\n<p><strong>输入:</strong> <span class=\"example-io\">nums = [10,5], k = 10</span></p>\n\n<p><strong>输出:</strong> <span class=\"example-io\">[5,10]</span></p>\n\n<p><strong>解释:</strong></p>\n\n<table data-end=\"1421\" data-start=\"1200\" node=\"[object Object]\" style=\"border: 1px solid black;\">\n\t<thead data-end=\"1255\" data-start=\"1200\">\n\t\t<tr data-end=\"1255\" data-start=\"1200\">\n\t\t\t<th data-end=\"1216\" data-start=\"1200\" style=\"border: 1px solid black;\">排列</th>\n\t\t\t<th data-end=\"1237\" data-start=\"1216\" style=\"border: 1px solid black;\">连接后的值</th>\n\t\t\t<th data-end=\"1255\" data-start=\"1237\" style=\"border: 1px solid black;\">是否能被 10 整除</th>\n\t\t</tr>\n\t</thead>\n\t<tbody data-end=\"1421\" data-start=\"1312\">\n\t\t<tr data-end=\"1366\" data-start=\"1312\">\n\t\t\t<td style=\"border: 1px solid black;\">[5, 10]</td>\n\t\t\t<td style=\"border: 1px solid black;\">510</td>\n\t\t\t<td style=\"border: 1px solid black;\">是</td>\n\t\t</tr>\n\t\t<tr data-end=\"1421\" data-start=\"1367\">\n\t\t\t<td style=\"border: 1px solid black;\">[10, 5]</td>\n\t\t\t<td style=\"border: 1px solid black;\">105</td>\n\t\t\t<td style=\"border: 1px solid black;\">否</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n<p data-end=\"2011\" data-start=\"1921\">可以形成可整除连接且字典序最小的排列是 <code>[5,10]</code>。</p>\n</div>\n\n<p><strong class=\"example\">示例 3</strong></p>\n\n<div class=\"example-block\">\n<p><strong>输入:</strong> <span class=\"example-io\">nums = [1,2,3], k = 5</span></p>\n\n<p><strong>输出:</strong> <span class=\"example-io\">[]</span></p>\n\n<p><strong>解释:</strong></p>\n\n<p>由于不存在任何可以形成有效可整除连接的排列,因此返回空列表。</p>\n</div>\n\n<p>&nbsp;</p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= nums.length &lt;= 13</code></li>\n\t<li><code>1 &lt;= nums[i] &lt;= 10<sup>5</sup></code></li>\n\t<li><code>1 &lt;= k &lt;= 100</code></li>\n</ul>\n",
"isPaidOnly": false,
"difficulty": "Hard",
"likes": 5,
"dislikes": 0,
"isLiked": null,
"similarQuestions": "[]",
"contributors": [],
"langToValidPlayground": "{\"cpp\": true, \"java\": true, \"python\": true, \"python3\": true, \"mysql\": false, \"mssql\": false, \"oraclesql\": false, \"c\": false, \"csharp\": false, \"javascript\": false, \"typescript\": false, \"bash\": false, \"php\": false, \"swift\": false, \"kotlin\": false, \"dart\": false, \"golang\": false, \"ruby\": false, \"scala\": false, \"html\": false, \"pythonml\": false, \"rust\": false, \"racket\": false, \"erlang\": false, \"elixir\": false, \"pythondata\": false, \"react\": false, \"vanillajs\": false, \"postgresql\": false, \"cangjie\": false}",
"topicTags": [
{
"name": "Bit Manipulation",
"slug": "bit-manipulation",
"translatedName": "位运算",
"__typename": "TopicTagNode"
},
{
"name": "Array",
"slug": "array",
"translatedName": "数组",
"__typename": "TopicTagNode"
},
{
"name": "Dynamic Programming",
"slug": "dynamic-programming",
"translatedName": "动态规划",
"__typename": "TopicTagNode"
},
{
"name": "Bitmask",
"slug": "bitmask",
"translatedName": "状态压缩",
"__typename": "TopicTagNode"
}
],
"companyTagStats": null,
"codeSnippets": [
{
"lang": "C++",
"langSlug": "cpp",
"code": "class Solution {\npublic:\n vector<int> concatenatedDivisibility(vector<int>& nums, int k) {\n \n }\n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "Java",
"langSlug": "java",
"code": "class Solution {\n public int[] concatenatedDivisibility(int[] nums, int k) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Python",
"langSlug": "python",
"code": "class Solution(object):\n def concatenatedDivisibility(self, nums, k):\n \"\"\"\n :type nums: List[int]\n :type k: int\n :rtype: List[int]\n \"\"\"\n ",
"__typename": "CodeSnippetNode"
},
{
"lang": "Python3",
"langSlug": "python3",
"code": "class Solution:\n def concatenatedDivisibility(self, nums: List[int], k: int) -> List[int]:\n ",
"__typename": "CodeSnippetNode"
},
{
"lang": "C",
"langSlug": "c",
"code": "/**\n * Note: The returned array must be malloced, assume caller calls free().\n */\nint* concatenatedDivisibility(int* nums, int numsSize, int k, int* returnSize) {\n \n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "C#",
"langSlug": "csharp",
"code": "public class Solution {\n public int[] ConcatenatedDivisibility(int[] nums, int k) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "JavaScript",
"langSlug": "javascript",
"code": "/**\n * @param {number[]} nums\n * @param {number} k\n * @return {number[]}\n */\nvar concatenatedDivisibility = function(nums, k) {\n \n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "TypeScript",
"langSlug": "typescript",
"code": "function concatenatedDivisibility(nums: number[], k: number): number[] {\n \n};",
"__typename": "CodeSnippetNode"
},
{
"lang": "PHP",
"langSlug": "php",
"code": "class Solution {\n\n /**\n * @param Integer[] $nums\n * @param Integer $k\n * @return Integer[]\n */\n function concatenatedDivisibility($nums, $k) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Swift",
"langSlug": "swift",
"code": "class Solution {\n func concatenatedDivisibility(_ nums: [Int], _ k: Int) -> [Int] {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Kotlin",
"langSlug": "kotlin",
"code": "class Solution {\n fun concatenatedDivisibility(nums: IntArray, k: Int): IntArray {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Dart",
"langSlug": "dart",
"code": "class Solution {\n List<int> concatenatedDivisibility(List<int> nums, int k) {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Go",
"langSlug": "golang",
"code": "func concatenatedDivisibility(nums []int, k int) []int {\n \n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Ruby",
"langSlug": "ruby",
"code": "# @param {Integer[]} nums\n# @param {Integer} k\n# @return {Integer[]}\ndef concatenated_divisibility(nums, k)\n \nend",
"__typename": "CodeSnippetNode"
},
{
"lang": "Scala",
"langSlug": "scala",
"code": "object Solution {\n def concatenatedDivisibility(nums: Array[Int], k: Int): Array[Int] = {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Rust",
"langSlug": "rust",
"code": "impl Solution {\n pub fn concatenated_divisibility(nums: Vec<i32>, k: i32) -> Vec<i32> {\n \n }\n}",
"__typename": "CodeSnippetNode"
},
{
"lang": "Racket",
"langSlug": "racket",
"code": "(define/contract (concatenated-divisibility nums k)\n (-> (listof exact-integer?) exact-integer? (listof exact-integer?))\n )",
"__typename": "CodeSnippetNode"
},
{
"lang": "Erlang",
"langSlug": "erlang",
"code": "-spec concatenated_divisibility(Nums :: [integer()], K :: integer()) -> [integer()].\nconcatenated_divisibility(Nums, K) ->\n .",
"__typename": "CodeSnippetNode"
},
{
"lang": "Elixir",
"langSlug": "elixir",
"code": "defmodule Solution do\n @spec concatenated_divisibility(nums :: [integer], k :: integer) :: [integer]\n def concatenated_divisibility(nums, k) do\n \n end\nend",
"__typename": "CodeSnippetNode"
},
{
"lang": "Cangjie",
"langSlug": "cangjie",
"code": "class Solution {\n func concatenatedDivisibility(nums: Array<Int64>, k: Int64): Array<Int64> {\n\n }\n}",
"__typename": "CodeSnippetNode"
}
],
"stats": "{\"totalAccepted\": \"1.3K\", \"totalSubmission\": \"3.4K\", \"totalAcceptedRaw\": 1302, \"totalSubmissionRaw\": 3408, \"acRate\": \"38.2%\"}",
"hints": [
"Can we write a recursive solution for this?",
"Can we use bitmasks with dynamic programming to optimize the above recursion?",
"Use the idea of bitmask-based dynamic programming.",
"Use the idea to reconstruct the answer from the dynamic programming table using the state variables, such as <code>mask</code> and <code>remainder</code>."
],
"solution": null,
"status": null,
"sampleTestCase": "[3,12,45]\n5",
"metaData": "{\n \"name\": \"concatenatedDivisibility\",\n \"params\": [\n {\n \"name\": \"nums\",\n \"type\": \"integer[]\"\n },\n {\n \"type\": \"integer\",\n \"name\": \"k\"\n }\n ],\n \"return\": {\n \"type\": \"integer[]\"\n }\n}",
"judgerAvailable": true,
"judgeType": "large",
"mysqlSchemas": [],
"enableRunCode": true,
"envInfo": "{\"cpp\":[\"C++\",\"<p>\\u7248\\u672c\\uff1a<code>clang 19<\\/code> \\u91c7\\u7528\\u6700\\u65b0 C++ 23 \\u6807\\u51c6\\uff0c\\u5e76\\u4f7f\\u7528 GCC 14 \\u63d0\\u4f9b\\u7684 <code>libstdc++<\\/code>\\u3002<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u65f6\\uff0c\\u5c06\\u4f1a\\u91c7\\u7528 <code>-O2<\\/code> \\u7ea7\\u4f18\\u5316\\uff0c\\u5e76\\u63d0\\u4f9b <code>-gline-tables-only<\\/code> \\u53c2\\u6570\\u3002<a href=\\\"https:\\/\\/github.com\\/google\\/sanitizers\\/wiki\\/AddressSanitizer\\\" target=\\\"_blank\\\">AddressSanitizer<\\/a> \\u4e5f\\u88ab\\u5f00\\u542f\\u6765\\u68c0\\u6d4b <code>out-of-bounds<\\/code> \\u548c <code>use-after-free<\\/code> \\u9519\\u8bef\\u3002<\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u4f7f\\u7528\\u65b9\\u4fbf\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8\\u5bfc\\u5165\\u3002<\\/p>\"],\"java\":[\"Java\",\"<p>\\u7248\\u672c\\uff1a<code>OpenJDK 21<\\/code>\\u3002\\u4f7f\\u7528\\u7f16\\u8bd1\\u53c2\\u6570 <code>--enable-preview --release 21<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u88ab\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5305\\u542b Pair \\u7c7b: https:\\/\\/docs.oracle.com\\/javase\\/8\\/javafx\\/api\\/javafx\\/util\\/Pair.html <\\/p>\"],\"python\":[\"Python\",\"<p>\\u7248\\u672c\\uff1a <code>Python 2.7.18<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u5e38\\u7528\\u5e93\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8 \\u5bfc\\u5165\\uff0c\\u5982\\uff1a<a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/array.html\\\" target=\\\"_blank\\\">array<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/bisect.html\\\" target=\\\"_blank\\\">bisect<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/2\\/library\\/collections.html\\\" target=\\\"_blank\\\">collections<\\/a>\\u3002\\u5982\\u679c\\u60a8\\u9700\\u8981\\u4f7f\\u7528\\u5176\\u4ed6\\u5e93\\u51fd\\u6570\\uff0c\\u8bf7\\u81ea\\u884c\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u6ce8\\u610f Python 2.7 <a href=\\\"https:\\/\\/www.python.org\\/dev\\/peps\\/pep-0373\\/\\\" target=\\\"_blank\\\">\\u5df2\\u4e0d\\u518d\\u7ef4\\u62a4<\\/a>\\u3002 \\u5982\\u60f3\\u4f7f\\u7528\\u6700\\u65b0\\u7248\\u7684Python\\uff0c\\u8bf7\\u9009\\u62e9Python 3\\u3002<\\/p>\"],\"c\":[\"C\",\"<p>\\u7248\\u672c\\uff1a<code>GCC 14<\\/code>\\uff0c\\u91c7\\u7528 GNU11 \\u6807\\u51c6\\u3002<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u65f6\\uff0c\\u5c06\\u4f1a\\u91c7\\u7528 <code>-O2<\\/code> \\u7ea7\\u4f18\\u5316\\uff0c\\u5e76\\u63d0\\u4f9b <code>-g1<\\/code> \\u53c2\\u6570\\u3002 <a href=\\\"https:\\/\\/github.com\\/google\\/sanitizers\\/wiki\\/AddressSanitizer\\\" target=\\\"_blank\\\">AddressSanitizer<\\/a> \\u4e5f\\u88ab\\u5f00\\u542f\\u6765\\u68c0\\u6d4b <code>out-of-bounds<\\/code> \\u548c <code>use-after-free<\\/code> \\u9519\\u8bef\\u3002<\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u4f7f\\u7528\\u65b9\\u4fbf\\uff0c\\u5927\\u90e8\\u5206\\u6807\\u51c6\\u5e93\\u7684\\u5934\\u6587\\u4ef6\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5982\\u60f3\\u4f7f\\u7528\\u54c8\\u5e0c\\u8868\\u8fd0\\u7b97, \\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/troydhanson.github.io\\/uthash\\/\\\" target=\\\"_blank\\\">uthash<\\/a>\\u3002 \\\"uthash.h\\\"\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5bfc\\u5165\\u3002\\u8bf7\\u770b\\u5982\\u4e0b\\u793a\\u4f8b:<\\/p>\\r\\n\\r\\n<p><b>1. \\u5f80\\u54c8\\u5e0c\\u8868\\u4e2d\\u6dfb\\u52a0\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nstruct hash_entry {\\r\\n int id; \\/* we'll use this field as the key *\\/\\r\\n char name[10];\\r\\n UT_hash_handle hh; \\/* makes this structure hashable *\\/\\r\\n};\\r\\n\\r\\nstruct hash_entry *users = NULL;\\r\\n\\r\\nvoid add_user(struct hash_entry *s) {\\r\\n HASH_ADD_INT(users, id, s);\\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\\r\\n\\r\\n<p><b>2. \\u5728\\u54c8\\u5e0c\\u8868\\u4e2d\\u67e5\\u627e\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nstruct hash_entry *find_user(int user_id) {\\r\\n struct hash_entry *s;\\r\\n HASH_FIND_INT(users, &user_id, s);\\r\\n return s;\\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\\r\\n\\r\\n<p><b>3. \\u4ece\\u54c8\\u5e0c\\u8868\\u4e2d\\u5220\\u9664\\u4e00\\u4e2a\\u5bf9\\u8c61\\uff1a<\\/b>\\r\\n<pre>\\r\\nvoid delete_user(struct hash_entry *user) {\\r\\n HASH_DEL(users, user); \\r\\n}\\r\\n<\\/pre>\\r\\n<\\/p>\"],\"csharp\":[\"C#\",\"<p><a href=\\\"https:\\/\\/learn.microsoft.com\\/en-us\\/dotnet\\/csharp\\/whats-new\\/csharp-13\\\" target=\\\"_blank\\\">C# 13<\\/a> \\u8fd0\\u884c\\u5728 .NET 9 \\u4e0a<\\/p>\"],\"javascript\":[\"JavaScript\",\"<p>\\u7248\\u672c\\uff1a<code>Node.js 22.14.0<\\/code><\\/p>\\r\\n\\r\\n<p>\\u60a8\\u7684\\u4ee3\\u7801\\u5728\\u6267\\u884c\\u65f6\\u5c06\\u5e26\\u4e0a <code>--harmony<\\/code> \\u6807\\u8bb0\\u6765\\u5f00\\u542f <a href=\\\"http:\\/\\/node.green\\/\\\" target=\\\"_blank\\\">\\u65b0\\u7248ES6\\u7279\\u6027<\\/a>\\u3002<\\/p>\\r\\n\\r\\n<p><a href=\\\"https:\\/\\/lodash.com\\\" target=\\\"_blank\\\">lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\n<p> \\u5982\\u9700\\u4f7f\\u7528\\u961f\\u5217\\/\\u4f18\\u5148\\u961f\\u5217\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/priority-queue\\/tree\\/v6.3.2\\\" target=\\\"_blank\\\"> datastructures-js\\/priority-queue@6.3.2<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/queue\\/tree\\/v4.2.3\\\" target=\\\"_blank\\\"> datastructures-js\\/queue@4.2.3<\\/a> \\u4ee5\\u53ca <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/deque\\/tree\\/v1.0.4\\\" target=\\\"_blank\\\"> datastructures-js\\/deque@1.0.4<\\/a>\\u3002<\\/p>\"],\"ruby\":[\"Ruby\",\"<p>\\u4f7f\\u7528 <code>Ruby 3.2<\\/code> \\u6267\\u884c<\\/p>\\r\\n\\r\\n<p>\\u4e00\\u4e9b\\u5e38\\u7528\\u7684\\u6570\\u636e\\u7ed3\\u6784\\u5df2\\u5728 Algorithms \\u6a21\\u5757\\u4e2d\\u63d0\\u4f9b\\uff1ahttps:\\/\\/www.rubydoc.info\\/github\\/kanwei\\/algorithms\\/Algorithms<\\/p>\"],\"swift\":[\"Swift\",\"<p>\\u7248\\u672c\\uff1a<code>Swift 6.0<\\/code><\\/p>\\r\\n\\r\\n<p>\\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/apple\\/swift-algorithms\\/tree\\/1.2.0\\\" target=\\\"_blank\\\">swift-algorithms 1.2.0<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/apple\\/swift-collections\\/tree\\/1.1.4\\\" target=\\\"_blank\\\">swift-collections 1.1.4<\\/a> \\u548c <a href=\\\"https:\\/\\/github.com\\/apple\\/swift-numerics\\/tree\\/1.0.2\\\" target=\\\"_blank\\\">swift-numerics 1.0.2<\\/a><\\/p>\\r\\n\\r\\n<p>\\u6211\\u4eec\\u901a\\u5e38\\u4fdd\\u8bc1\\u66f4\\u65b0\\u5230 <a href=\\\"https:\\/\\/swift.org\\/download\\/\\\" target=\\\"_blank\\\">Apple\\u653e\\u51fa\\u7684\\u6700\\u65b0\\u7248Swift<\\/a>\\u3002\\u5982\\u679c\\u60a8\\u53d1\\u73b0Swift\\u4e0d\\u662f\\u6700\\u65b0\\u7248\\u7684\\uff0c\\u8bf7\\u8054\\u7cfb\\u6211\\u4eec\\uff01\\u6211\\u4eec\\u5c06\\u5c3d\\u5feb\\u66f4\\u65b0\\u3002<\\/p>\"],\"golang\":[\"Go\",\"<p>\\u7248\\u672c\\uff1a<code>Go 1.23<\\/code><\\/p>\\r\\n\\r\\n<p>\\u652f\\u6301 <a href=\\\"https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods@v1.18.1\\\" target=\\\"_blank\\\">https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods@v1.18.1<\\/a> \\u548c <a href=\\\"https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods\\/v2@v2.0.0-alpha\\\" target=\\\"_blank\\\">https:\\/\\/pkg.go.dev\\/github.com\\/emirpasic\\/gods\\/v2@v2.0.0-alpha<\\/a> \\u7b2c\\u4e09\\u65b9\\u5e93\\u3002<\\/p>\"],\"python3\":[\"Python3\",\"<p>\\u7248\\u672c\\uff1a<code>Python 3.11<\\/code><\\/p>\\r\\n\\r\\n<p>\\u4e3a\\u4e86\\u65b9\\u4fbf\\u8d77\\u89c1\\uff0c\\u5927\\u90e8\\u5206\\u5e38\\u7528\\u5e93\\u5df2\\u7ecf\\u88ab\\u81ea\\u52a8 \\u5bfc\\u5165\\uff0c\\u5982<a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/array.html\\\" target=\\\"_blank\\\">array<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/bisect.html\\\" target=\\\"_blank\\\">bisect<\\/a>, <a href=\\\"https:\\/\\/docs.python.org\\/3\\/library\\/collections.html\\\" target=\\\"_blank\\\">collections<\\/a>\\u3002 \\u5982\\u679c\\u60a8\\u9700\\u8981\\u4f7f\\u7528\\u5176\\u4ed6\\u5e93\\u51fd\\u6570\\uff0c\\u8bf7\\u81ea\\u884c\\u5bfc\\u5165\\u3002<\\/p>\\r\\n\\r\\n<p>\\u5982\\u9700\\u4f7f\\u7528 Map\\/TreeMap \\u6570\\u636e\\u7ed3\\u6784\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"http:\\/\\/www.grantjenks.com\\/docs\\/sortedcontainers\\/\\\" target=\\\"_blank\\\">sortedcontainers<\\/a> \\u5e93\\u3002<\\/p>\"],\"scala\":[\"Scala\",\"<p>\\u7248\\u672c\\uff1a<code>Scala 3.3.1<\\/code><\\/p>\"],\"kotlin\":[\"Kotlin\",\"<p>\\u7248\\u672c\\uff1a<code>Kotlin 2.1.10<\\/code><\\/p>\"],\"rust\":[\"Rust\",\"<p>\\u7248\\u672c\\uff1a<code>rust 1.85.0<\\/code><\\/p>\\r\\n\\r\\n<p>\\u652f\\u6301 crates.io \\u7684 <a href=\\\"https:\\/\\/crates.io\\/crates\\/rand\\\" target=\\\"_blank\\\">rand<\\/a>\\u3001<a href=\\\"https:\\/\\/crates.io\\/crates\\/regex\\\" target=\\\"_blank\\\">regex<\\/a> \\u548c <a href=\\\"https:\\/\\/crates.io\\/crates\\/itertools\\\" target=\\\"_blank\\\">itertools<\\/a><\\/p>\"],\"php\":[\"PHP\",\"<p><code>PHP 8.2<\\/code>.<\\/p>\\r\\n\\r\\n<p>With bcmath module.<\\/p>\"],\"typescript\":[\"TypeScript\",\"<p>TypeScript 5.7.3<\\/p>\\r\\n\\r\\n<p>Compile Options: --alwaysStrict --strictBindCallApply --strictFunctionTypes --target ES2024<\\/p>\\r\\n\\r\\n<p><a href=\\\"https:\\/\\/lodash.com\\\" target=\\\"_blank\\\">lodash.js<\\/a> \\u5e93\\u5df2\\u7ecf\\u9ed8\\u8ba4\\u88ab\\u5305\\u542b\\u3002<\\/p>\\r\\n\\r\\n<p> \\u5982\\u9700\\u4f7f\\u7528\\u961f\\u5217\\/\\u4f18\\u5148\\u961f\\u5217\\uff0c\\u60a8\\u53ef\\u4f7f\\u7528 <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/priority-queue\\/tree\\/v6.3.2\\\" target=\\\"_blank\\\"> datastructures-js\\/priority-queue@6.3.2<\\/a>\\uff0c<a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/queue\\/tree\\/v4.2.3\\\" target=\\\"_blank\\\"> datastructures-js\\/queue@4.2.3<\\/a> \\u4ee5\\u53ca <a href=\\\"https:\\/\\/github.com\\/datastructures-js\\/deque\\/tree\\/v1.0.4\\\" target=\\\"_blank\\\"> datastructures-js\\/deque@1.0.4<\\/a>\\u3002<\\/p>\"],\"racket\":[\"Racket\",\"<p><a href=\\\"https:\\/\\/docs.racket-lang.org\\/guide\\/performance.html#%28tech._c%29\\\" target=\\\"_blank\\\">Racket CS<\\/a> v8.15<\\/p>\\r\\n\\r\\n<p>\\u4f7f\\u7528 #lang racket<\\/p>\\r\\n\\r\\n<p>\\u5df2\\u9884\\u5148 (require data\\/gvector data\\/queue data\\/order data\\/heap). \\u82e5\\u9700\\u4f7f\\u7528\\u5176\\u5b83\\u6570\\u636e\\u7ed3\\u6784\\uff0c\\u53ef\\u81ea\\u884c require\\u3002<\\/p>\"],\"erlang\":[\"Erlang\",\"Erlang\\/OTP 26\"],\"elixir\":[\"Elixir\",\"Elixir 1.17 with Erlang\\/OTP 26\"],\"dart\":[\"Dart\",\"<p>Dart 3.2\\u3002\\u60a8\\u53ef\\u4ee5\\u4f7f\\u7528 <a href=\\\"https:\\/\\/pub.dev\\/packages\\/collection\\/versions\\/1.18.0\\\" target=\\\"_blank\\\">collection<\\/a> \\u5305<\\/p>\\r\\n\\r\\n<p>\\u60a8\\u7684\\u4ee3\\u7801\\u5c06\\u4f1a\\u88ab\\u4e0d\\u7f16\\u8bd1\\u76f4\\u63a5\\u8fd0\\u884c<\\/p>\"],\"cangjie\":[\"Cangjie\",\"<p>\\u7248\\u672c\\uff1a0.53.11 (cjnative)<\\/p>\\r\\n\\r\\n<p>\\u7f16\\u8bd1\\u53c2\\u6570\\uff1a<code>-O2 --disable-reflection<\\/code><\\/p>\\r\\n\\r\\n<p>\\u5feb\\u901f\\u5165\\u95e8\\u8bf7\\u67e5\\u9605<a href=\\\"https:\\/\\/leetcode.cn\\/leetbook\\/detail\\/cangjie\\/\\\" target=\\\"_blank\\\">\\u300c\\u4ed3\\u9889\\u7f16\\u7a0b\\u8bed\\u8a00\\u5f00\\u53d1\\u6307\\u5357\\u300d<\\/a><\\/p>\"]}",
"book": null,
"isSubscribed": false,
"isDailyQuestion": false,
"dailyRecordStatus": null,
"editorType": "CKEDITOR",
"ugcQuestionId": null,
"style": "LEETCODE",
"exampleTestcases": "[3,12,45]\n5\n[10,5]\n10\n[1,2,3]\n5",
"__typename": "QuestionNode"
}
}
}