六月七号数据库

1.算法:矩阵对角线之和
问题:不知道如何求反对角线
利用i+j=数组长度
class solution{
public int Sum(int [][]mat){
int ret = ;
for(int i = ;i<mat.length;i++){
for(int j = ;j<mat[i].length;j++){
if(i==j||i+j==mat.length){ret +=mat[i][j];}}}}}

2.算法:Excel表列序号
问题:不知道如何转换26进制,将字母相应地转换为数字
例如'A'可以通过for循环int num = s.charAt(i) - 'A'+1;实现
以最开始的A作为比较,以26进制一次
通过for循环一层层的比较
class solution{
public String Excel(String s){
int ret = 0;
for(int i = 0;i<s.length();i++){
int num = s.charAt(i)-'A'+1;
ret = ret*26+num;}
return ret;}}

总结:算法1:斜对角线之和有正斜角线和反斜角线,正斜角线可以通过i=j实现

反斜角线通过观察会发现i+j==nums.length-1来实现

通过双层for循环来确定矩阵位置

算法2:如何将字符串,按照题目的要求转换为整数

例如:'A'为1 

可以通过s.charAt(i)-'A'+1通过for循环来换成整数

以26为进制

posted @ 2021-06-07 22:21  求知律己  阅读(16)  评论(0编辑  收藏  举报