aboutsummaryrefslogtreecommitdiff
path: root/lexicographical_numbers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lexicographical_numbers.cpp')
-rw-r--r--lexicographical_numbers.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/lexicographical_numbers.cpp b/lexicographical_numbers.cpp
index 55e9fe3..ab48ce5 100644
--- a/lexicographical_numbers.cpp
+++ b/lexicographical_numbers.cpp
@@ -1,6 +1,12 @@
-// dnw
+// 386. Lexicographical Numbers
#include "leetcode.h"
+/*
+ * given an integer 'n', return all the numbers in the range '[1, n]' sorted in
+ * lexicographical order. you must write an algorithm that runs in O(n) time
+ * complexity and uses O(1) extra space.
+ */
+
class Solution {
public:
vector<int> ans;
@@ -24,3 +30,14 @@ private:
}
}
};
+
+int main() {
+ Solution obj;
+ vector<int> lo1 = obj.lexicalOrder(13), lo2 = obj.lexicalOrder(2);
+ for (int i = 0; i < lo1.size(); i++)
+ printf("%d ", lo1[i]); // expect: [1,10,11,12,13,2,3,4,5,6,7,8,9]
+ printf("\n");
+ for (int i = 0; i < lo2.size(); i++)
+ printf("%d ", lo2[i]); // expect: [1,2]
+ printf("\n");
+}