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

存量题库数据更新

This commit is contained in:
2023-12-09 18:42:21 +08:00
parent a788808cd7
commit c198538f10
10843 changed files with 288489 additions and 248355 deletions

View File

@@ -2,7 +2,7 @@
"data": {
"question": {
"questionId": "3190",
"questionFrontendId": "100117",
"questionFrontendId": "2934",
"categoryTitle": "Algorithms",
"boundTopicId": 2521614,
"title": "Minimum Operations to Maximize Last Elements in Arrays",
@@ -12,13 +12,26 @@
"translatedContent": "<p>给你两个下标从 <strong>0</strong> 开始的整数数组 <code>nums1</code> 和 <code>nums2</code> ,这两个数组的长度都是 <code>n</code> 。</p>\n\n<p>你可以执行一系列<strong> 操作(可能不执行)</strong>。</p>\n\n<p>在每次操作中,你可以选择一个在范围 <code>[0, n - 1]</code> 内的下标 <code>i</code> ,并交换 <code>nums1[i]</code> 和 <code>nums2[i]</code> 的值。</p>\n\n<p>你的任务是找到满足以下条件所需的 <strong>最小</strong> 操作次数:</p>\n\n<ul>\n\t<li><code>nums1[n - 1]</code> 等于 <code>nums1</code> 中所有元素的 <strong>最大值</strong> ,即 <code>nums1[n - 1] = max(nums1[0], nums1[1], ..., nums1[n - 1])</code> 。</li>\n\t<li><code>nums2[n - 1]</code> 等于 <code>nums2</code> 中所有元素的 <strong>最大值</strong> ,即 <code>nums2[n - 1] = max(nums2[0], nums2[1], ..., nums2[n - 1])</code> 。</li>\n</ul>\n\n<p>以整数形式,表示并返回满足上述 <strong>全部</strong> 条件所需的 <strong>最小</strong> 操作次数,如果无法同时满足两个条件,则返回 <code>-1</code> 。</p>\n\n<p>&nbsp;</p>\n\n<p><strong class=\"example\">示例 1</strong></p>\n\n<pre>\n<strong>输入:</strong>nums1 = [1,2,7]nums2 = [4,5,3]\n<strong>输出:</strong>1\n<strong>解释:</strong>在这个示例中,可以选择下标 i = 2 执行一次操作。\n交换 nums1[2] 和 nums2[2] 的值nums1 变为 [1,2,3] nums2 变为 [4,5,7] 。\n同时满足两个条件。\n可以证明需要执行的最小操作次数为 1 。\n因此答案是 1 。\n</pre>\n\n<p><strong class=\"example\">示例 2</strong></p>\n\n<pre>\n<strong>输入:</strong>nums1 = [2,3,4,5,9]nums2 = [8,8,4,4,4]\n<strong>输出:</strong>2\n<strong>解释:</strong>在这个示例中,可以执行以下操作:\n首先选择下标 i = 4 执行操作。\n交换 nums1[4] 和 nums2[4] 的值nums1 变为 [2,3,4,5,4] nums2 变为 [8,8,4,4,9] 。\n然后选择下标 i = 3 执行操作。\n交换 nums1[3] 和 nums2[3] 的值nums1 变为 [2,3,4,4,4] nums2 变为 [8,8,4,5,9] 。\n同时满足两个条件。 \n可以证明需要执行的最小操作次数为 2 。 \n因此答案是 2 。\n</pre>\n\n<p><strong class=\"example\">示例 3</strong></p>\n\n<pre>\n<strong>输入:</strong>nums1 = [1,5,4]nums2 = [2,5,3]\n<strong>输出:</strong>-1\n<strong>解释:</strong>在这个示例中,无法同时满足两个条件。\n因此答案是 -1 。\n</pre>\n\n<p>&nbsp;</p>\n\n<p><strong>提示:</strong></p>\n\n<ul>\n\t<li><code>1 &lt;= n == nums1.length == nums2.length &lt;= 1000</code></li>\n\t<li><code>1 &lt;= nums1[i] &lt;= 10<sup>9</sup></code></li>\n\t<li><code>1 &lt;= nums2[i] &lt;= 10<sup>9</sup></code></li>\n</ul>\n",
"isPaidOnly": false,
"difficulty": "Medium",
"likes": 2,
"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}",
"topicTags": [],
"topicTags": [
{
"name": "Greedy",
"slug": "greedy",
"translatedName": "贪心",
"__typename": "TopicTagNode"
},
{
"name": "Array",
"slug": "array",
"translatedName": "数组",
"__typename": "TopicTagNode"
}
],
"companyTagStats": null,
"codeSnippets": [
{
@@ -136,7 +149,7 @@
"__typename": "CodeSnippetNode"
}
],
"stats": "{\"totalAccepted\": \"2.4K\", \"totalSubmission\": \"5.7K\", \"totalAcceptedRaw\": 2393, \"totalSubmissionRaw\": 5706, \"acRate\": \"41.9%\"}",
"stats": "{\"totalAccepted\": \"3.8K\", \"totalSubmission\": \"8.2K\", \"totalAcceptedRaw\": 3817, \"totalSubmissionRaw\": 8154, \"acRate\": \"46.8%\"}",
"hints": [
"Consider how to calculate the minimum number of operations when <code>nums1[n - 1]</code> and <code>nums2[n - 1]</code> are fixed (they are not swapped).",
"For each index <code>i</code>, there are only <code>3</code> possibilities: <ul>\r\n<li><code>nums1[i] <= nums1[n - 1] && nums2[i] <= nums2[n - 1]</code>. We don't need to swap them.</li>\r\n<li><code>nums1[i] <= nums2[n - 1] && nums2[i] <= nums1[n - 1]</code>. We have to swap them.</li>\r\n<li>Otherwise, there is no solution.</li>\r\n</ul>",