From e40ba05bfe06e6a622ad42dbb94d7ac6837e3904 Mon Sep 17 00:00:00 2001 From: chayan das Date: Mon, 9 Jun 2025 21:25:20 +0530 Subject: [PATCH] Create 440. K-th Smallest in Lexicographical Order --- 440. K-th Smallest in Lexicographical Order | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 440. K-th Smallest in Lexicographical Order diff --git a/440. K-th Smallest in Lexicographical Order b/440. K-th Smallest in Lexicographical Order new file mode 100644 index 0000000..33db52a --- /dev/null +++ b/440. K-th Smallest in Lexicographical Order @@ -0,0 +1,32 @@ +class Solution { +public: + #define ll long long + int countsteps(int n,int k,ll prefix1,ll prefix2){ + int steps=0; + while(prefix1<=n){ + steps+=min(1LL*(n+1),prefix2)-prefix1; + prefix1*=10; + prefix2*=10; + + } + return steps; + } + int findKthNumber(int n, int k) { + ll curr=1; + k-=1; + + while(k!=0){ + int steps=countsteps(n,k,curr,curr+1); + if(steps<=k){ + curr++; + k-=steps; + }else{ + curr*=10; + k--; + } + + } + return curr; + + } +};