标签: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 }
解法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 }
第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 }
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 };
212.Space Replacement:http://www.lintcode.com/en/problem/space-replacement/
空格替换:
标签:sed div tmp 技术 pre one else pac list
原文地址:http://www.cnblogs.com/buwenyuwu/p/6338109.html