Strings
# s = "1234567891011121314...." find the nth digit
def find_nth_digit(n):
if n < 10:
return n
digit_length = 1
count = 9
start = 1
while n > digit_length * count:
n -= digit_length * count
digit_length += 1
count *= 10
start *= 10
start += (n - 1) // digit_length
num_str = str(start)
return int(num_str[(n - 1) % digit_length])
print(find_nth_digit(11)) # Example usage, should return 0
print(find_nth_digit(501)) # Example usage, should return 10
3