Prefacio
Orden de las preguntas:
Primer paso: matriz, pila, cola->lista vinculada->árbol->tabla hash->puntero doble->gráfico->simulación, enumeración, recursividad->ordenar
Segundo paso: bisección->ventana deslizante->búsqueda->programación dinámica->problema de mochila->divide y vencerás->codiciosos->operaciones de bits
El tercer paso: Trie->Union-find->Poda->Coincidencia de cadenas->Montón->Omitir lista->Árbol de segmentos de línea
1. Matriz de puntos de conocimiento
1 、
2.pregunta de leetcode
T1
El código se muestra a continuación:
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];
}
}
}