Sam and substrings Time : O(n) Space : O(1) 1234567891011int substrings(string n) { long long mod = 1e9 + 7; long long res = 0; long long sum = 0; for(long long i = 0; i < n.length(); i++) { sum = sum * 10 % mod + (i + 1) * (n[i] - '0') % mod; sum %= mod; res = (res + sum) % mod; } return res;}