Class Solution
- java.lang.Object
-
- g2501_2600.s2564_substring_xor_queries.Solution
-
public class Solution extends Object
2564 - Substring XOR Queries.Medium
You are given a binary string
s, and a 2D integer arrayquerieswherequeries[i] = [firsti, secondi].For the
ithquery, find the shortest substring ofswhose decimal value ,val, yieldssecondiwhen bitwise XORed withfirsti. In other words,val ^ firsti == secondi.The answer to the
ithquery is the endpoints ( 0-indexed ) of the substring[lefti, righti]or[-1, -1]if no such substring exists. If there are multiple answers, choose the one with the minimumlefti.Return an array
answhereans[i] = [lefti, righti]is the answer to theithquery.A substring is a contiguous non-empty sequence of characters within a string.
Example 1:
Input: s = “101101”, queries = [[0,5],[1,2]]
Output: [[0,2],[2,3]]
Explanation: For the first query the substring in range
[0,2]is “101” which has a decimal value of **5** , and **5 ^ 0 = 5** , hence the answer to the first query is[0,2]. In the second query, the substring in range[2,3]is **“11”, ** and has a decimal value of 3 , and **3^ 1 = 2**. So,[2,3]is returned for the second query.Example 2:
Input: s = “0101”, queries = [[12,8]]
Output: -1,-1
Explanation: In this example there is no substring that answers the query, hence
[-1,-1] is returned.Example 3:
Input: s = “1”, queries = [[4,5]]
Output: 0,0
Explanation: For this example, the substring in range
[0,0]has a decimal value of **1** , and **1 ^ 4 = 5**. So, the answer is[0,0].Constraints:
1 <= s.length <= 104s[i]is either'0'or'1'.1 <= queries.length <= 1050 <= firsti, secondi <= 109
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
-
-
Method Detail
-
substringXorQueries
public int[][] substringXorQueries(String s, int[][] queries)
-
-