zoukankan      html  css  js  c++  java
  • LintCode 9.Fizz Buzz 问题(JAVA实现,一个if都不用)

    描述

    给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:

    • 如果这个数被3整除,打印fizz.
    • 如果这个数被5整除,打印buzz.
    • 如果这个数能同时被3和5整除,打印fizz buzz.

    样例

    比如 n = 15, 返回一个字符串数组:

    [
      "1", "2", "fizz",
      "4", "buzz", "fizz",
      "7", "8", "fizz",
      "buzz", "11", "fizz",
      "13", "14", "fizz buzz"
    ]

    挑战

    你是否可以只用一个 if 来实现?

    实现

    // 使用条件运算符加switch,一个if都没用。
    public class Solution {
        /**
         * @param n: An integer
         * @return: A list of strings.
         */
        public List<String> fizzBuzz(int n) {
            // write your code here
            List<String> list = new ArrayList();
            for (int i = 1; i <= n; i++) {
                int s = i % 15 == 0 ? 3 : i % 5 == 0 ? 2 : i % 3 == 0 ? 1 : 4;
                switch (s) {
                    case 1:
                        list.add("fizz");
                        break;
                    case 2:
                        list.add("buzz");
                        break;
                    case 3:
                        list.add("fizz buzz");
                        break;
                    default:
                        list.add(i + "");
                        break;
                }
            }
            return list;
        }
    }



  • 相关阅读:
    对象序列化流使用
    字符输入流结合字符打印流实现复制文件
    python 安装一些 直接使用pip无法安装的包 的方法
    linux记不住
    SIP
    uniapp不同型号手机适配
    uniapp app头部渐变
    vue安卓苹果下载链接合并
    Typescript
    Nodejs
  • 原文地址:https://www.cnblogs.com/luo-jian/p/13158572.html
Copyright © 2011-2022 走看看