400. Nth Digit

class Solution {
public:
    int findNthDigit(int n) {
        long currsum = 0, curr = 1, th = 1;
        while (currsum + curr * th * 9 < n) {
            currsum += curr * th * 9;
            curr = curr * 10;
            th++;
        }
        cout<<currsum<<' '<<curr<<' '<<th<<endl;
        long dig = (n - currsum + th - 1) % th;
        long num = curr + (n - currsum - 1) / th;

        cout<<dig<<' '<<num<<endl;
        return to_string(num)[dig] - '0';

    }
};

results matching ""

    No results matching ""