「力扣」数组算法(巨巨巨详细)

前言

刷题顺序:

第一遍:数组、栈、队列->链表->树->哈希表->双指针->图->模拟、枚举、递归->排序

第二遍:二分->滑动窗口->搜索->动态规划->背包问题->分治->贪心->位运算

第三遍:Trie->并查集->剪枝->字符串匹配->堆->跳表->线段树

一.数组知识点

1、

二.leetcode题目

T1 

代码如下:

class Solution {
    public int[] twoSum(int[] nums, int target) {
        //int[] result=new int[2];
        for(int i=0;i<nums.length-1;i++)
        {
                for(int j=i+1;j<nums.length;j++)
                {
                    //System.out.println(i+","+j);
                    if(nums[i]+nums[j]==target)
                    {
                        return new int[]{i,j};
                    }
                }
        }
        return null;
    }
}

T4

class Solution {
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
        
        //-----------------合并两个数组并且排序-------------------------
        int l1=nums1.length;
        int l2=nums2.length;
        int l=l1+l2;

        int[] combine=new int[l1+l2];
        //--------(被复制的数组,起始位置,结果数组,起始,拷贝的长度)
        System.arraycopy(nums1,0,combine,0,l1);
        System.arraycopy(nums2,0,combine,l1,l2);

        Arrays.sort(combine);
        // for(int e:combine)
        // {
        //     System.out.print(e+" ");
        // }
        //----------------------得到中位数---------------------------
        //是否为偶数
        if(l%2==0)//没有余数,偶数
        {
            return (double)(combine[l/2-1]+combine[l/2])/2;
        }
        else{
            return combine[l/2];
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_67225910/article/details/132130962