码迷,mamicode.com
首页 > 其他好文 > 详细

LintCode:剑指Offer

时间:2017-01-22 07:54:03      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:sed   div   tmp   技术   pre   one   else   pac   list   

第1章:

9.Fizz Buzz :http://www.lintcode.com/zh-cn/problem/fizz-buzz/

解法1:(%  String.valueOf)

(1.rst;  2.for(1,n),15,5,3,else;  3.return)

技术分享
 1 public class Solution {
 2     public List<String> fizzBuzz(int n) {
 3         List<String> rst = new ArrayList<>();
 4         for (int i = 1; i <= n; i++) {
 5             if (i % 15 == 0) rst.add("FizzBuzz");
 6             else if (i % 5 == 0) rst.add("Buzz");
 7             else if (i % 3 == 0) rst.add("Fizz");
 8             else rst.add(String.valueOf(i));
 9         }
10         return rst;
11     }
12 }
View Code

解法2:(利用两个变量fizz和buzz计数,为3、5的时候则add Fizz和Buzz并清零。不需要使用%)

技术分享
 1 public class Solution {
 2     public List<String> fizzBuzz(int n) {
 3         List<String> ret = new ArrayList<String>(n);
 4         for(int i=1,fizz=0,buzz=0;i<=n ;i++){
 5             fizz++;
 6             buzz++;
 7             if(fizz==3 && buzz==5){
 8                 ret.add("FizzBuzz");
 9                 fizz=0;
10                 buzz=0;
11             }else if(fizz==3){
12                 ret.add("Fizz");
13                 fizz=0;
14             }else if(buzz==5){
15                 ret.add("Buzz");
16                 buzz=0;
17             }else{
18                 ret.add(String.valueOf(i));
19             }
20         } 
21         return ret;
22     }
23 }
View Code

 

 

第2章:

366.Fibonacci: http://www.lintcode.com/en/problem/fibonacci/

解法:<Iterative><Two Pointers>(指针a指向第一个数,指针b指向第2个数,for循环a,b分别向后移动,返回a)

(1.a,b;  2.for(1,n),tmp,b,a;  3.return)

技术分享
 1 class Solution {
 2     /**
 3      * @param n: an integer
 4      * @return an integer f(n)
 5      */
 6     public int fibonacci(int n) {
 7         // write your code here
 8         int a = 0, b = 1;
 9         for (int i = 1; i < n; i++) {
10             int tmp = b;
11             b = a + b;
12             a = tmp;
13         }
14         return a;
15     }
16 }
View Code

 

204.Singleton: http://www.lintcode.com/en/problem/singleton/

单例:

技术分享
 1 class Solution {
 2     /**
 3      * @return: The same instance of this class every time
 4      */
 5     public static Solution instance = null;
 6     public static Solution getInstance() {
 7         if (instance == null) {
 8             instance = new Solution();
 9         }
10         return instance;
11     }
12 };
View Code

 

212.Space Replacement:http://www.lintcode.com/en/problem/space-replacement/

空格替换:

 

LintCode:剑指Offer

标签:sed   div   tmp   技术   pre   one   else   pac   list   

原文地址:http://www.cnblogs.com/buwenyuwu/p/6338109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!