您的位置:首页 > 其它

NI笔试——大数加法

2016-04-19 23:05 211 查看
NI笔试:

1.找出字符串第一次出现的字符。用数组建立哈希表,然后再扫描字符串并判断次数是否为1。

2.大数加法,即字符串加法。因为之前写过乘法,就以为是乘法。然后就把乘法写上去了····= =

好了,看一下加法的思路。

要不要太简单,用俩数组,先把字符串每个位转换成数字存到这俩数组里,然后对每一位进行加和。

代码是拿别人的。= =

void Add(char s1[],char s2[]) //需要两个字符串参数&&无返回值
{
int num1[M],nm2[M];
int i,j;
len1=strlen(s1);
len2=strlen(s2);
for(i=len1-1,j=0;i>=0;i--)//num[0]保存的是低位
num1[j++]=s1[i]-'0';
for(i=len2-1,j=0;i>=0;i--)
num2[j++]=s2[i]-'0';
for(i=0;i<M;i++)
{
num1[i]+=num2[i];
if(num1[i]>9)
{
num1[i]-=10;
num1[i+1]++;
}
}

  for(i=M;(i>=0)&&(num1[i]==0);i--)//找到第一个不是零的数
{
if(i>=0)
for(;i>=0;i--)
printf("%d",num1[i]);
else
printf("0\n")
}


3.第三道题是一个二维数组,二维数组里有一些数,然后找到一条和最小的路径。

我觉得和那个最长公共子序列很像。动态规划。等空下来再思考这题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: