https://leetcode.com/contest/weekly-contest-65/problems/reach-a-number/
class Solution { public: int reachNumber(int target) { if (target == 0) return 0; if (target < 0) target *= -1; int remain = target; int step = 0; bool odd = (target & 1); while(remain > 0) { step++; remain -= step; } int pattern = step % 4; int pattern2 = pattern % 2; printf("%d %d %d\n", step, pattern, pattern2); if (odd) { if ((pattern == 1) || (pattern == 2)) return step; else { if (pattern == 0) return (step + 1); if (pattern == 3) return (step + 2); } } else { if ((pattern == 0) || (pattern == 3)) return step; else { if (pattern == 1) return (step + 2); if (pattern == 2) re...