标签:desc head == ring int amp get cal als
public class Solution { public int MagicalString(int n) { if (n <= 0) return 0; if (n <= 3) return 1; int[] a = new int[n + 1]; a[0] = 1; a[1] = 2; a[2] = 2; int head = 2, tail = 3, num = 1, result = 1; while (tail < n) { for (int i = 0; i < a[head]; i++) { a[tail] = num; if (num == 1 && tail < n) { result++; } tail++; } num = num ^ 3;//异或 head++; } return result; } }
https://leetcode.com/problems/magical-string/#/description
标签:desc head == ring int amp get cal als
原文地址:http://www.cnblogs.com/asenyang/p/6841339.html