一、写在前面的话
笔者是一位参与今年互联网秋招大军中的一员,在四月份的时候很幸运地斩获了腾讯、微软、京东和vmware四家的实习offer,得到这些offer并非偶然,笔者其实早在去年就开始准备秋招的各项基础技能了。可惜由于种种原因,笔者在正式秋招开始后,这种潜心准备的转态开始下滑(在对待感情、找工作以及工作之间,笔者丧失了某种协调的能力,这不能怪任何人,就像之前leader所说的那样,人生就是需要一些挫折,用以促使自身得以快速成长)。
选择是人生永恒不变的话题,对于笔者个人而言,即使有些事会影响到自己,但是自己做了选择就无怨无悔。
虽然秋招的黄金时期已经过了,但是知识是永远不会过时的,该沉淀的还是要沉淀。
二、数字转换成excel字母
给定正整数,返回Excel工作表中显示的相应的列。
【例如】
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...
三、解题算法 -- accept
对n进行n%26去余再n/26,得0-25个数,即A-Z,所以n%26=0对应'A',
当n=26时,26%26=0,26/26=1,1%26=1得到的是'AB',不符合,所以应该在每次 * 求余前对n自减1,即n--。
#define swap(a,b,t) (t=a,a=b,b=t)
/**把字符串做翻转**/
void reverse_str(char* str, int left, int right)
{
if(str==NULL || left > right) return;
char temp;
while(left<right)
{
swap(str[left], str[right], temp);
left++;
right--;
}
}
char* convertToTitle(int n) {
/**用于存结果字符**/
char* str = (char*)malloc(255*sizeof(char));
int i = 0; //str的游标
while(n>=1)
{
n--;
str[i++] = n%26+'A';
n = n/26;
}
str[i] = '\0';
reverse_str(str,0,strlen(str)-1);
return str;
}
梦想还是要有的,万一实现了呢~~~~~ヾ(◍°∇°◍)ノ゙~~~~~~~~~~~