LeetCode Biweekly Contest 10 3問目 - Stepping Numbers [1215]

Source

LeetCode Biweekly Contest 10
問題文

問題概要

省略

解法

省略

cLayversion 20191006-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

int sz, arr[1d4];

void doit(ll now, int las){
  if(now > 2d9) return;
  arr[sz++] = now;
  if(las-1 >= 0) doit(now * 10 + las - 1, las - 1);
  if(las+1 <= 9) doit(now * 10 + las + 1, las + 1);
}

class Solution {
public:
  vector<int> countSteppingNumbers(int low, int high) {
    vector<int> res;
    if(sz==0){
      arr[sz++] = 0;
      rep(i,1,10) doit(i, i);
      sort(arr, arr+sz);
    }
    rep(i,sz) if(low <= arr[i] <= high) res.push_back(arr[i]);
    return res;
  }
};

Current time: 2024年03月28日23時22分35秒
Last modified: 2019年10月06日04時00分50秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: