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为进制