最近在练车,好累啊。所以,博客没有更的特别勤快。一些知识点也没能及时地补上。加油八
1.
请实现一个函数,将一个字符串s中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
思路1:计算出空格个数,字符串长度增加2*空格数,用两个下标来遍历字符串,一个下标位于字符串原先长度最后一个元素处,一个下标位于字符串增长后最后一个元素处。当第一个下标不为空格时,两者同时减一,后者被前者赋值;当一个下标为空格时,第一个下标减一,第二个下标减一被被赋值“%20”
出现问题是在引用函数的时候,测试函数出现问题。
思路2:从字符串最前端遍历字符串,如果存在空格,空格后的字符串整体向后挪动两个字符,空格处被赋值为'%',空出来的两个字符位置处分别赋值'2'、'0'。
思路3:创建新字符串,当原字符串遇到空格,新字符串存入"%20",之后再将原字符串的内容赋值进去
2.
给定一个整数 n ,计算 n 与斐波那契数的最小差值(绝对值)
说明:
斐波那契数定义:
从0,1开始后面的数值为前面两者之和, 即第三个数为第一和第二个数之和
形如:0,1,1,2,3,5,8,13,21。。。。 其中3为1与2的和,5为2与3的和,8为3与5的和等等
要计算的数值案例:
输入15,与斐波那契数相减,与13相减的绝对值是2,与21相减的绝对值是6,与众多斐波那契数相减的最小差值为2
因此输入15,输出2
代码如下:
3.
思路:
4.
思路1:
思路2: