thảo luận Leetcode mỗi ngày

  • Người tạo chủ đề Người tạo chủ đề _Gia_Cat_Luong_
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
Đấm @small-lambda trước á
Q8sGcLO.png
cool ❄️
 
C++:
class Solution {
public:
    vector<int> xorQueries(vector<int>& arr, vector<vector<int>>& queries) {
        vector<int> prefix(arr.size()), ans;
        prefix[0] = arr[0];
        for (int i = 1; i < arr.size(); i++) prefix[i] = prefix[i-1] ^ arr[i];
        for (vector<int> q : queries) {
            int left = q[0], right = q[1];
            if (left == 0) {
                ans.push_back(prefix[right]);
            } else {
                ans.push_back(prefix[right] ^ prefix[left-1]);
            }
        }
        return ans;
    }
};
 
Python:
class Solution:
    def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
        prefix = {-1: 0}
        n = len(arr)
        for i in range(n):
            prefix[i] = arr[i]^prefix[i - 1]

        ans = []
        for left, right in queries:
            ans.append(prefix[right]^prefix[left - 1])

        return ans
Mấy nay bài dễ quá, nay cuối tuần chuẩn bị 3 bài cùng 1 topic cho các fence vui chơi
2 bài Medium 1 bài hard cho ae xả stress tập luyện cuối tuần thi thố
 
Java:
class Solution {
    public int[] xorQueries(int[] arr, int[][] queries) {
        int[] xor = new int[arr.length + 1];
        int[] rs = new int[queries.length];

        xor[0] = 0;
        xor[1] = arr[0];

        for (int i = 1; i < arr.length; i++) {
            xor[i + 1] = arr[i] ^ xor[i];
        }

        for (int i = 0; i < queries.length; i++) {
            int[] q = queries[i];
            rs[i] = xor[q[0]] ^ xor[q[1] + 1];
        }

        return rs;
    }
}
 
Python:
class Solution:
    def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
        prefix_xor = [0]
        for num in arr:
            prefix_xor.append(prefix_xor[-1] ^ num)
        
        result = []
        for l, r in queries:
            result.append(prefix_xor[r + 1] ^ prefix_xor[l])
        return result
 
C#:
public class Solution {
    public int[] XorQueries(int[] arr, int[][] queries) {
                var n = arr.Length;
        var prefixXOR = new int[n];
        var result = new int[queries.Length];
        prefixXOR[0] = arr[0];
        for (var i = 1; i < n; i++)
        {
            prefixXOR[i] = prefixXOR[i - 1] ^ arr[i];
        }

        for (var i = 0; i < queries.Length; i++)
        {
            if(queries[i][0] == 0) result[i] = prefixXOR[queries[i][1]];
            else
                result[i] = prefixXOR[queries[i][1]] ^ prefixXOR[queries[i][0]-1];
        }

        return result;
    }
}

thấy mấy bài bit hay mà đần món này quá
Wf29Rhg.png
 
brute force còn pass :haha:
Prefix xor
JavaScript:
function xorQueries(arr: number[], queries: number[][]): number[] {
    const res: number[] = []
    const pref = [0, arr[0]]
    for (let i = 1; i < arr.length; i++) pref.push(pref[i] ^ arr[i])
    for (const [l, r] of queries) res.push(pref[l] ^ pref[r + 1])
    return res
};
 
Sửa lần cuối:
Good morning

Java:
class Solution {
    public int[] xorQueries(int[] arr, int[][] queries) {
        int n = arr.length;
        int m = queries.length;

        int[] prefixXor = new int[n];
        prefixXor[0] = arr[0];
        for (int i = 1; i < n; i++) {
            prefixXor[i] = arr[i] ^ prefixXor[i - 1];
        }

        int[] res = new int[m];
        for (int i = 0; i < m; i++) {
            int left = queries[i][0];
            int right = queries[i][1];

            int xorRes = prefixXor[right] ^ prefixXor[left] ^ arr[left];
            
            res[i] = xorRes;
        }

        return res;
    }
}
 
inverse of XOR is XOR itself.
a^b =x <-> a = x^b;

Java:
class Solution {
    public int[] xorQueries(int[] arr, int[][] queries) {
        int n = arr.length;
        int prefixXor[] = new int[n+1];
        prefixXor[0]= 0;
        for(int i =1 ; i<=n;i++){
            prefixXor[i] = prefixXor[i-1]^arr[i-1];
        }
        int[] res = new int[queries.length];
        int index=0;
        for(int[] query:queries){
            res[index++] = prefixXor[query[1]+1]^prefixXor[query[0]];
        }
        return res;
    }
}
 
Sửa lần cuối:
JavaScript:
var xorQueries = function(arr, queries) {
    for (let i = 1; i < arr.length; i++) {
        arr[i] ^= arr[i-1];
    }
    return queries.map(([l, r]) => {
        return arr[r] ^ (l > 0 ? arr[l-1] : 0);
    });
};
 
ô ấy troll chứ ko phải dev vào đây làm quái gì :D
Troll gì, dân logistic mà. Troll nữa thì khác gì Ưng Hoàng Phúc đi làm từ thiện :canny:

Mà nghèo đúng đi đôi cái hèn, cày mãi points éo lên mấy. Còn tới tận 3k4 nữa mới đổi cái mũ để phông bạt.
Bộ kit leetcode chưa lấy ra xài lần nào vì để chờ cái mũ =((
 
Swift:
class Solution {
    func xorQueries(_ arr: [Int], _ queries: [[Int]]) -> [Int] {

        var totalXor:[Int] = [0]
        for a in arr {
            totalXor.append(totalXor.last! ^ a)
        }

        return queries.map{
            totalXor[$0[1]+1] ^ totalXor[$0[0]]
        }
    }
}
 
Python:
class Solution:
    def xorQueries(self, A: List[int], B: List[List[int]]) -> List[int]:
        prefix_xor = [0] * len(A)
        for i in range(len(A)):
            prefix_xor[i] = prefix_xor[i - 1] ^ A[i] if i > 0 else A[i]
        
        return [prefix_xor[e] ^ (prefix_xor[s - 1] if s > 0 else 0) for s, e in B]
 
Python:
class Solution:
    def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
        prefix = {-1: 0}
        n = len(arr)
        for i in range(n):
            prefix[i] = arr[i]^prefix[i - 1]

        ans = []
        for left, right in queries:
            ans.append(prefix[right]^prefix[left - 1])

        return ans
Mấy nay bài dễ quá, nay cuối tuần chuẩn bị 3 bài cùng 1 topic cho các fence vui chơi
2 bài Medium 1 bài hard cho ae xả stress tập luyện cuối tuần thi thố
đù má mấy bài này khó nhai quá sếp, cơm này chưa chín rồi :after_boom:
 
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
_Gia_Cat_Luong_,
Người trả lời cuối
Vipluckystar,
Trả lời
17.755
Lượt xem
1.214.510
Quay lại
Lên đầu trang