算法理论(3)

第四章:多维数组与矩阵

相关题目:
① 顺时针打印二维数组
② 将元素为零的元素行列清零(不能逐个扫描处理,先扫描一遍记录,再扫描处理)
③ Z字形打印二维数组(看成斜线打印,注意边界情况处理)
④ 求出二位数组中边界为1的最大子方阵(注意下标越界情况)
⑤ 第④题的优化解(创建一个三位数组 扫描四次即可)

进制转换

Ⅰ、首先是十进制转化为其他进制,如二进制,八进制,十六进制:

它们在java中都有专门的函数可供调用:

    十进制转化为二进制时调用toBinaryString();

    十进制转化为八进制时调用toOctalString();

    十进制转化为十六进制时调用toHexString();

Ⅱ、要将十进制转化其他进制,调用API中一个函数即可

十进制转化为任何其他进制 调用Integer.toString(int i,int radix);(i为被换数,radix是目标进制)

Ⅲ、将其他进制转化为十进制:

将其他进制转化为十进制调用Integer.parseInt(String,radix);(String为被换数,radix为给数的进制类型)

java.lang.String类compareTo()方法解析

compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)

1、如果字符串相等返回值0

2、如果第一个字符和参数的第一个字符不等,结束比较,返回他 们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)

3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度. 

tips:合理使用编程语言中的快速方法可节约很多时间

Java中       Binarysearch为二分查找
             StringBuilder对象对动态字符串
             Arrays.Sort()还可可自定义一个比较规则进行排序

猜你喜欢

转载自blog.csdn.net/m0_52000372/article/details/114212500