code.ashish.me

Atom feed

Recently added: 128 Longest Consecutive Sequence, 347 Top K Frequent Elements, 045 Jump Game 2, 228 Summary Ranges, 219 Contains Duplicate 2

066 Plus One

/**
 * 
 * Ashish Patel
 * e: ashishsushilPatel@gmail.com
 * w: https://ashish.me
 *
 */

/* 
 * Given a non-empty array of digits representing a non-negative integer,
 * plus one to the integer.
 * 
 * The digits are stored such that the most significant digit is at the
 *  head of the list, and each element in the array contain a single digit.
 * 
 * You may assume the integer does not contain any leading zero, except
 *  the number 0 itself.
 * 
 * Example 1:
 * 
 * Input: [1,2,3]
 * Output: [1,2,4]
 * Explanation: The array represents the integer 123.
*/


function plusOne(value) {
  if(value.length < 1) return []
  for (let i = value.length - 1; i >=0 ; i--) {
    if(value[i] < 9) {
      value[i] += 1
      return value
    } else {
      value[i] = 0
    }    
  }
  value.unshift(1)
  return value
}

test('plus One', () => {
  expect(plusOne([1,2,3])).toEqual([1,2,4])
});

Created 2020-04-09T21:19:01+00:00 · Edit