{ "data": { "question": { "questionId": "3583", "questionFrontendId": "3312", "boundTopicId": null, "title": "Sorted GCD Pair Queries", "titleSlug": "sorted-gcd-pair-queries", "content": "
You are given an integer array nums
of length n
and an integer array queries
.
Let gcdPairs
denote an array obtained by calculating the GCD of all possible pairs (nums[i], nums[j])
, where 0 <= i < j < n
, and then sorting these values in ascending order.
For each query queries[i]
, you need to find the element at index queries[i]
in gcdPairs
.
Return an integer array answer
, where answer[i]
is the value at gcdPairs[queries[i]]
for each query.
The term gcd(a, b)
denotes the greatest common divisor of a
and b
.
\n
Example 1:
\n\nInput: nums = [2,3,4], queries = [0,2,2]
\n\nOutput: [1,2,2]
\n\nExplanation:
\n\ngcdPairs = [gcd(nums[0], nums[1]), gcd(nums[0], nums[2]), gcd(nums[1], nums[2])] = [1, 2, 1]
.
After sorting in ascending order, gcdPairs = [1, 1, 2]
.
So, the answer is [gcdPairs[queries[0]], gcdPairs[queries[1]], gcdPairs[queries[2]]] = [1, 2, 2]
.
Example 2:
\n\nInput: nums = [4,4,2,1], queries = [5,3,1,0]
\n\nOutput: [4,2,1,1]
\n\nExplanation:
\n\ngcdPairs
sorted in ascending order is [1, 1, 1, 2, 2, 4]
.
Example 3:
\n\nInput: nums = [2,2], queries = [0,0]
\n\nOutput: [2,2]
\n\nExplanation:
\n\ngcdPairs = [2]
.
\n
Constraints:
\n\n2 <= n == nums.length <= 105
1 <= nums[i] <= 5 * 104
1 <= queries.length <= 105
0 <= queries[i] < n * (n - 1) / 2
gCompiled with clang 17
using the latest C++ 23 standard, and libstdc++
provided by GCC 13.\\r\\n\\r\\nYour code is compiled with level two optimization (-O2
). AddressSanitizer is also enabled to help detect out-of-bounds and use-after-free bugs.
\\r\\n\\r\\nMost standard library headers are already included automatically for your convenience.
\"], \"java\": [\"Java\", \"OpenJDK 21
. Using compile arguments: --enable-preview --release 21
\\r\\n\\r\\nMost standard library headers are already included automatically for your convenience.
\\r\\nIncludes Pair
class from https://docs.oracle.com/javase/8/javafx/api/javafx/util/Pair.html.
\"], \"python\": [\"Python\", \"Python 2.7.12
.
\\r\\n\\r\\nMost libraries are already imported automatically for your convenience, such as array, bisect, collections. If you need more libraries, you can import it yourself.
\\r\\n\\r\\nFor Map/TreeMap data structure, you may use sortedcontainers library.
\\r\\n\\r\\nNote that Python 2.7 will not be maintained past 2020. For the latest Python, please choose Python3 instead.
\"], \"c\": [\"C\", \"Compiled with gcc 13
using the gnu11 standard.
\\r\\n\\r\\nYour code is compiled with level one optimization (-O2
). AddressSanitizer is also enabled to help detect out-of-bounds and use-after-free bugs.
\\r\\n\\r\\nMost standard library headers are already included automatically for your convenience.
\\r\\n\\r\\nFor hash table operations, you may use uthash. \\\"uthash.h\\\" is included by default. Below are some examples:
\\r\\n\\r\\n1. Adding an item to a hash.\\r\\n
\\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
\\r\\n\\r\\n\\r\\n2. Looking up an item in a hash:\\r\\n
\\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
\\r\\n\\r\\n\\r\\n3. Deleting an item in a hash:\\r\\n
\\r\\nvoid delete_user(struct hash_entry *user) {\\r\\n HASH_DEL(users, user); \\r\\n}\\r\\n
\\r\\n\"], \"csharp\": [\"C#\", \"C# 12 with .NET 8 runtime
\"], \"javascript\": [\"JavaScript\", \"Node.js 20.10.0
.
\\r\\n\\r\\nYour code is run with --harmony
flag, enabling new ES6 features.
\\r\\n\\r\\nlodash.js library is included by default.
\\r\\n\\r\\nFor Priority Queue / Queue data structures, you may use 5.4.0 version of datastructures-js/priority-queue and 4.2.3 version of datastructures-js/queue and 1.0.4 version of datastructures-js/deque.
\"], \"ruby\": [\"Ruby\", \"Ruby 3.2
\\r\\n\\r\\nSome common data structure implementations are provided in the Algorithms module: https://www.rubydoc.info/github/kanwei/algorithms/Algorithms
\"], \"swift\": [\"Swift\", \"Swift 5.10
.
\\r\\n\\r\\nYou may use swift-algorithms 1.2.0 and swift-collections 1.1.0.
\"], \"golang\": [\"Go\", \"Go 1.23
\\r\\nSupport https://pkg.go.dev/github.com/emirpasic/gods@v1.18.1 and https://pkg.go.dev/github.com/emirpasic/gods/v2@v2.0.0-alpha library.
\"], \"python3\": [\"Python3\", \"Python 3.11
.
\\r\\n\\r\\nMost libraries are already imported automatically for your convenience, such as array, bisect, collections. If you need more libraries, you can import it yourself.
\\r\\n\\r\\nFor Map/TreeMap data structure, you may use sortedcontainers library.
\"], \"scala\": [\"Scala\", \"Scala 3.3.1
.
\"], \"kotlin\": [\"Kotlin\", \"Kotlin 1.9.0
.
\\r\\n\\r\\nWe are using an experimental compiler provided by JetBrains.
\"], \"rust\": [\"Rust\", \"Rust 1.79.0
. Your code will be compiled with opt-level
2.
\\r\\n\\r\\nSupports rand v0.8 and regex\\u00a0v1 from crates.io
\"], \"php\": [\"PHP\", \"PHP 8.2
.
\\r\\nWith bcmath module
\"], \"typescript\": [\"Typescript\", \"TypeScript 5.1.6, Node.js 20.10.0
.
\\r\\n\\r\\nCompile Options: --alwaysStrict --strictBindCallApply --strictFunctionTypes --target ES2022
\\r\\n\\r\\nYour code is run with --harmony
flag, enabling new ES2022 features.
\\r\\n\\r\\nlodash.js library is included by default.
\\r\\n\\r\\nFor Priority Queue / Queue data structures, you may use 5.4.0 version of datastructures-js/priority-queue and 4.2.3 version of datastructures-js/queue and 1.0.4 version of datastructures-js/deque.
\"], \"racket\": [\"Racket\", \"Racket CS v8.11
\\r\\n\\r\\nUsing #lang racket
\\r\\n\\r\\nRequired data/gvector data/queue data/order data/heap
automatically for your convenience
\"], \"erlang\": [\"Erlang\", \"Erlang/OTP 26\"], \"elixir\": [\"Elixir\", \"Elixir 1.16 with Erlang/OTP 26\"], \"dart\": [\"Dart\", \"Dart 3.2. You may use package collection
\\r\\n\\r\\nYour code will be run directly without compiling
\"]}",
"libraryUrl": null,
"adminUrl": null,
"challengeQuestion": null,
"__typename": "QuestionNode"
}
}
}