Twosum的三种解法及其时间复杂度

package com.oracle.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.List;

import org.testng.annotations.Test;

public class TwoSumTest {
    //O(n) 利用哈希表,空间换时间
    public int[] twoSum(int sum, int [] arr) {
        int [] retIndex = new int[2];
        Map m = new HashMap();
        for(int i = 0;isum) {
                right--;
            }else {
                values[0] = arr[left];
                values[1] = arr[right];
                break;
            }
        }

        List ret = new ArrayList();
        for(int i = 0;ii).toArray();
        
    }


    @Test
    void testTwoSum() {
        int [] arr = {4, 4, 11, 15};
        int [] ret = twoSum2(8, arr);
        for(int i : ret) {
            System.out.print(i+" ");
        }
        System.out.println();
    }
}
Twosum的三种解法及其时间复杂度_第1张图片
image.png

你可能感兴趣的:(Twosum的三种解法及其时间复杂度)