2021-4-24
一、英语
1、slightingly:轻视地、忽视地
2、coincide in:(想法、利益)一致、相符
二、算法题目
巧解数学问题
1、168:进制转化
class Solution {
public:
//十进制转化为二十六进制,但是这里的26范围使1到26,不是0到25
//所以处理26的时候要注意
string convertToTitle(int columnNumber) {
string res = "";
while(columnNumber>0)
{
int n = columnNumber%26;
if(n==0)
{
res = 'Z'+res;
columnNumber = columnNumber/26-1;
}
else
{
res = char(n-1+'A')+res;
columnNumber = columnNumber/26;
}
}
return res;
}
};
2、67:二进制运算
class Solution {
public:
//首先将两个字符不起,然后相加,相加之后再判断是否进位
//注意的是加到首位的时候要判断是否需要再进位
string addBinary(string a, string b) {
int m = a.size();
int n = b.size();
while(m<n)
{
a = '0'+a;
m++;
}
while(n<m)
{
b = '0' +b;
n++;
}
//这里0不能进行相加,因为涉及进位,a[0-1]会导致下标出界
for(int i = n-1;i>0;--i)
{
a[i] = a[i]-'0'+b[i];
if(a[i]>='2')
{
a[i] = (a[i]-'0')%2+'0';
a[i-1] = a[i-1]+1;
}
}
a[0] = a[0]-'0'+b[0];
if(a[0]>='2')
{
a[0] = (a[0]-'0')%2+'0';
a = '1'+a;
}
return a;
}
};
fighting!