Skip to content

Instantly share code, notes, and snippets.

@dimastatz
Created March 3, 2019 12:22
Show Gist options
  • Save dimastatz/1f3e5398c2fb71fec304b1577a4736e5 to your computer and use it in GitHub Desktop.
Save dimastatz/1f3e5398c2fb71fec304b1577a4736e5 to your computer and use it in GitHub Desktop.
from flask import Flask, request
app = Flask(__name__)
def find_sbm(seq):
return scan(seq, set(), False)
def scan(seq, known_range, is_up_trend):
if not seq or len(seq) < 2:
return False
elif seq[1] in known_range: # 0(1)
return True
else:
known_range = add_set(known_range, is_up_trend, seq[0], seq[1])
return scan(seq[1:], known_range, seq[0] < seq[1])
def add_set(s, include_min, min_n, max_n):
r = range(min_n, max_n) if include_min else range(min_n + 1, max_n)
return s | set(r)
@app.route('/server', methods=['POST'])
def find_sbm_api():
return 'Result: {}\n'.format(find_sbm(request.json['seq']))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=10000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment