前言
刷题顺序:
第一遍:数组、栈、队列->链表->树->哈希表->双指针->图->模拟、枚举、递归->排序
第二遍:二分->滑动窗口->搜索->动态规划->背包问题->分治->贪心->位运算
第三遍: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];
}
}
}