1. 程式人生 > 程式設計 >前端如何更好的展示後端返回的十萬條資料

前端如何更好的展示後端返回的十萬條資料

一、異或運算(無進位運算)

  參加運算的兩個物件,按照二進位制位進行異或運算,運算規則:0^0=0,0^1=1,1^1=0,相同為0,不同為1

  異或運算的性質:

  • 任何一個變數與0異或是其本身(N^0=N)
  • 任何一個變數與自身異或為0(N^N=0)
  • 異或運算滿足交換律和結合律

二、使用場景

  • 不使用額外變數,進行兩個變數值的交換,前提兩個變數不能指向同一個記憶體地址(在陣列中使用必須考慮)
    
    
    public static void main(String[] args) {
    int a = 11;
    int b = 20;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    System.out.println("a: " + a + ", b: " + b);
    }
  • 一個數組中出現某個數出現奇數次,其餘數字出現偶數次,找出奇數次的數字。(要求時間複雜度:O(n), 空間複雜度:O(1))

    public static int findEven(int[] arr) throws Exception {
            if (arr == null) {
                throw new Exception("arr 不符合要求");
            }
            int eor = 0;
            for (int item : arr) {
                eor = eor ^ item;
            }
            
    return eor; }