LeetCode: Remove 9 Posted on May 7, 2018July 26, 2020 by braindenny Remove 9 Similar Problems: Nth Digit CheatSheet: Leetcode For Code Interview CheatSheet: Common Code Problems & Follow-ups Tag: #baseconversion, #math Start from integer 1, remove any integer that contains 9 such as 9, 19, 29… So now, you will have a new integer sequence: 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, … Given a positive integer n, you need to return the n-th integer after removing. Note that 1 will be the first integer. Example 1: Input: 9 Output: 10 Hint: n will not exceed 9 x 10^8. Github: code.dennyzhang.com Credits To: leetcode.com Leave me comments, if you have better ways to solve. Solution: without array // https://code.dennyzhang.com/remove-9 // Basic Ideas: base conversion // // Convert n to base 9 // // Complexity: Time O(log(n)), Space O(1) func newInteger(n int) int { res, base := 0, 1 for n != 0 { res = res+n%9*base n = n/9 base *= 10 } return res } Solution: with array // https://code.dennyzhang.com/remove-9 // Basic Ideas: base conversion // // Convert n to base 9 // // Complexity: Time O(1), Space O(1) func newInteger(n int) int { nums := []int{} for n != 0 { nums = append(nums, n%9) n = n/9 } res := 0 for i:=len(nums)-1; i>=0; i-- { res = res*10+nums[i] } return res } Post Views: 6 Post navigation LeetCode: Integer to RomanLeetCode: Image Overlap Leave a Reply Cancel replyYour email address will not be published.Comment Name Email Website