【leetcode】笔记

xiaoxiao2025-11-08  4

JAVA初始化二维数组的方式:

第一种:

int a[][]={{1,2,3},{4,5,6}};

第二种,先指明行数,再对每行的长度申请内存赋值:

int[][] arr3 = new int[5][];//五行 for(int i=0; i<arr3.length; ++i){ arr3[i]=new int[i+1]; //列的长度每次都变化。每次都要重新申请空间(长度) for(int j=0; j<arr3[i].length; ++j) arr3[i][j]= i+j; }

第三种: 直接一个一个赋值

将一个int型转为string:

String s= Integer.toString(7);

equals和==的对比:

== 用于比较基本数据类型时,如果两个值相同则结果为true 在比较引用时,如果引用指向同一内存地址则为true

equals() 实现对象的比较。 '=='不允许进行复写,所以可以通过复写equals()方法来达到比较对象内容是否相同的目的。

例如字符串类型对equals进行了复写后,就比较两个字符串对象的内容而不是他们的地址:

String s1=new String("abc"); String s2=new String("abc"); System.out.println(s1==s2); System.out.println(s1.equals(s2));

第一个输出false,因为两个对象的地址是不一样的 第二个输出true,因为两个字符串的内容是一样的

int m=3; int n=3; System.out.println(m==n); String str1="123"; String str2="123"; System.out.println(str1==str2); String str3=new String("123"); String str4=new String("123"); System.out.println(str3==str4);

依次输出true true false

第一个:m和n的内容都是int型数值3,所以true 第二个:str1和str2的内容都是字符串”123”,所以是true 第三个:str3和str4是指向两个不同字符串对象的地址,所以false

首先equals不能用于基本数据类型变量,只能用于比较对象

其次equals比较的是两个变量的地址是否一样

但是,

String str1=new String("123"); String str2=new String("123"); System.out.println(str1.equals(str2)); 输出的结果是:true

因为String类对equals进行了重写,所以在string中比较是两个字符串的内容

怎么计算以2为底的对数: 借助换底公式:

double res=Math.log(n)/Math.log(2);

怎么将一个Array数组中的值传递给另外一个数组:

List<List<Integer>> list1; List<List<Integer>> list2; list1.addAll(list2);

判断两个数组是否相等:

Arrays.equals(array1, array2)

这里的array1、array2可以是ArrayList对象,也可以是int [] char[]这种数组 函数返回布尔数值

二分法的一般书写格式:

数组:a 指针:p1, p2

int p1=0,p2=a.length; while(p1<=p2){ int mid=(p1+p2)/2; if(a[mid]==target) return; if(a[mid]<target) p1=mid+1; else p2=mid-1; }

ArrayList和LinkedList

ArrayList实现了动态数组的数据结构,LinkedList实现的是链表的数据结构使用get和set方法时使用ArrayList更好,因为LinkedList需要移动指针在列表内部需要频繁实现增删操作时用LinkedList更好,因为ArrayList需要移动复制数据ArrayList的空间消耗主要在list列表结尾预留一定的空间,LinkedList的空间消耗主要在每个元素都需要一定的空间大小

ArrayList的初始化

除了general的初始化方法,还可以:

ArrayList<Stirng> obj = new ArrayList<String>(Arrays.asList(String str1, String str2));

或者:

ArrayList<String> list = new ArrayList<String>(){{add("str01"); add("str02");}};

格雷码关于i的表达式: gray[i]=i^(i/2)

卡特兰数 F(1)=1 F(2)=2 F(n)=(2n)!/(n!(n+1)!) n>2

通过中序遍历和先序遍历构建二叉树: https://blog.csdn.net/AXIMI/article/details/85276585

convertToTitle

https://blog.csdn.net/AXIMI/article/details/88934189

转载请注明原文地址: https://www.6miu.com/read-5039301.html

最新回复(0)