LeetCode做题记录

开个博客记录自己刷LeetCode的心得体会,也是为了监督自己每天刷题,欢迎互相监督,每日至少5道题!!!

2023.2.2

ps.今晚临时起意开始写博客记录,时间不够写五道题了2.3号开始!

56.合并区间

关于Java输出二维数组a,因为a是一个二维数组—数组a的元素是数组。当执行Arrays.toString的时候相当于遍历数组,并且输出数组的元素,但是这个数组的元素是数组,所以这里输出的是数组元素的地址。调试时候为了得到结果用Arrays.deepToString()

int a[][]={{1,2,3},{4,5,6}};
System.out.println("a:"+Arrays.toString(a));
	 
int b[][]={{1,2,3},{4,5,6}};
System.out.println("b:"+Arrays.deepToString(b));


对应的输出:
a:[[I@7852e922, [I@4e25154f]
b:[[1, 2, 3], [4, 5, 6]]

第一遍做的时候,输出结果List cannot be converted to int[][],这是因为题目返回的要求是二维数组我这里用的是LinkedList,转换的方式如下:

List<int[]> res = new LinkedList<>();
return res.toArray(new int[res.size()][]);

2023.2.3

738.单调递增的数字

主要是Java中String操作事项。Java的String类没有提供用于修改字符串的方法,而C++中的string可以修改(需要复习Java基础知识了)。
具体到这个问题上来说就是,解决方法是,转换成字符串数组然后在做按位取或者修改的操作,见下:

char[] chars = str.toCharArray();
//转换回String
String string = String.valueOf(chars);
//String转换成Int
int a = Integer.parseInt(string);

从上面代码块 String的颜色也可以看出来,String不是基本数据类型,而是一个类,是Java编程语言中的字符串。String对象是char的有序集合,并且该值是不可变。

你可能感兴趣的:(leetcode,java,算法)