原题:

力扣链接:412. Fizz Buzz

题目简述:

给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:

  • answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。
  • answer[i] == “Fizz” 如果 i 是 3 的倍数。
  • answer[i] == “Buzz” 如果 i 是 5 的倍数。
  • answer[i] == i 如果上述条件全不满足。

解题思路

1.难点在动态生成二维字符串数组(本题解提供两种生成方法(连续内存与非连续内存),都可用);
2.*returnSize = n; ///< 这个比较坑。二维数组输出字符串的个数n。如写成malloc的大小,就报错
3.利用sprintf来把int转char数组:sprintf(pps8Output[i - 1],"%d", i);
4.其他没啥了。。。

C代码:

/*** Note: The returned array must be malloced, assume caller calls free().*/
char** fizzBuzz(int n, int* returnSize) {int i = 0;*returnSize = n; ///< 这个比较坑。二维数组输出字符串的个数n。如写成malloc的大小,就报错///< 动态开辟二维数组 start///< 法1///< 申请可能非连续内存// char ** pps8Output = malloc(sizeof(char *)*n); ///< 一级指针// for(i = 0;i < n; i++)// {//     pps8Output[i] = malloc(10*sizeof(char)); ///< 二级指针// }///< 法2///< 申请连续内存char ** pps8Output = malloc(sizeof(char *)*n); ///< 一级指针pps8Output[0] = malloc(10*n*sizeof(char)); ///< 二级指针for(i = 1;i < n; i++){///< 一次性动态申请好全部的内存,然后计算每行的开始地址,用单个下标访问,进行赋值pps8Output[i] = pps8Output[0] + i*10; ///< 二级指针 }///< 动态开辟二维数组 endfor (i = 1; i <= n; i++){if ((i % 3 == 0) && (i % 5 == 0)){strcpy(pps8Output[i - 1], "FizzBuzz");}else if ((i % 3 == 0) && !(i % 5 == 0)){strcpy(pps8Output[i - 1], "Fizz");}else if (!(i % 3 == 0) && (i % 5 == 0)){strcpy(pps8Output[i - 1], "Buzz");}else{sprintf(pps8Output[i - 1],"%d", i);}}// for (i = 0; i < n ; i++)// {//     printf("%s\r\n", pps8Output[i]);// }return pps8Output;
}

力扣结果展示:

【快乐水题】412. Fizz Buzz相关推荐

  1. 【leetcode】412.Fizz Buzz (三种方法开阔思路,java实现)

    412. Fizz Buzz 难度简单 写一个程序,输出从 1 到 n 数字的字符串表示. 如果 n 是3的倍数,输出"Fizz": 如果 n 是5的倍数,输出"Buzz ...

  2. LeetCode简单题之Fizz Buzz

    题目 给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中: answer[i] == "FizzBu ...

  3. leetcode 412. Fizz Buzz

    Write a program that outputs the string representation of numbers from 1 to n. But for multiples of ...

  4. 【跟Leon一起刷LeetCode】412. Fizz Buzz

    Fizz Buzz Description: Write a program that outputs the string representation of numbers from 1 to n ...

  5. 412. Fizz Buzz(java)

    写一个程序,输出从 1 到 n 数字的字符串表示.1. 如果 n 是3的倍数,输出"Fizz":2. 如果 n 是5的倍数,输出"Buzz":3.如果 n 同时 ...

  6. 412. Fizz Buzz

    Write a program that outputs the string representation of numbers from 1 to n. But for multiples of ...

  7. Java/412.Fizz Buzz

    题目 代码部分(2ms 98.26%) class Solution {public List<String> fizzBuzz(int n) {List<String> re ...

  8. 「 每日一练,快乐水题 」2016. 增量元素之间的最大差值

    文章目录 ✅力扣原题: ✅题目简述: ✅解题思路: ✅C++代码: ✅结果展示: ✅力扣原题: 力扣链接:2016. 增量元素之间的最大差值 ✅题目简述: 给你一个下标从 0 开始的整数数组 nums ...

  9. 「 每日一练,快乐水题 」917. 仅仅反转字母

    ✅力扣原题: 力扣链接:917. 仅仅反转字母 ✅题目简述: 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置. 所有英文字母(小写或大写)位置反转. 返回反转后的 s . ...

最新文章

  1. LabVIEW做一款科学计算器
  2. 10行代码带你搞定目标检测(附代码)
  3. python在excel中的应用-Python利用pandas处理Excel数据的应用详解
  4. 2020年日历_2020年《故宫日历》发布 纪念紫禁城建成六百年
  5. c++怎么输入esc_绘制CAD图纸的过程中CAD快捷键失灵了怎么办?
  6. 怎么看有没有安装libevent_家里有没有必要安装前置净水器?先听听师傅是怎么说的...
  7. python线性回归算法简介_Python机器学习(二):线性回归算法
  8. 用java实现经纬度坐标度分秒与度批量转换
  9. ant design vue 树形控件_官宣!vue.ant.design 低调上线
  10. VirtualBox 安装 Ubuntu 14.10 花屏 解决方案
  11. android override作用,Android Studio中@override的含义
  12. mac虚拟机linux性能测试,Veertu 1.0.4 – Mac上最轻便的虚拟机,可以运行Windows/Linux。...
  13. mysql8错误1045_Mysql错误1045解决方法
  14. 2021-09-03Dien
  15. 【2022最新Java面试宝典】—— Java集合面试题(52道含答案)
  16. inter uhd graphics630显卡驱动_极为全面的!从零开始的!小白都能看懂的!硬件科普#4 显卡选择篇...
  17. JVM调优总结(4)-调优方法
  18. 老林学习笔记 :纯js 继承 闭包 与js实现继承原理 veu实现继承
  19. 机械键盘测试(1)——序
  20. mstar v56几路hdmi_TCL MStar常用升级方法图文教程

热门文章

  1. kubevela随笔
  2. android设置系统横屏方案
  3. Visual Studio 2010/2013 UTF8编码调试时显示中文
  4. 数据库连接字符串.udl
  5. discuzx2.5添加自定义积分日志
  6. 中科燕园GIS外包-----基于ArcGIS的应急平台
  7. CString类型的头文件、CString的输出、CString的常用用法
  8. mootools脚本框架下载
  9. MATLAB中squeeze函数的作用
  10. Python学习笔记:错误,测试,调试(起)