从左往右扫,维护 2 个 max,
- 一个是
max(sub(arr[0:n])) - 一个是
max(sub(arr[0:n], including arr[n]))
for n in arr:
| ''' | |
| Haskellized python code | |
| License: WTFPL | |
| ''' | |
| qsort1 = (lambda arr:arr if (len(arr)<2) else qsort1(filter(lambda x:x <= arr[0],arr[1:])) + [arr[0]] + qsort1(filter(lambda x:x > arr[0],arr[1:]))) | |
| qsort2 = (lambda arr:arr if (len(arr)<2) else qsort2([x for x in arr[1:] if x <= arr[0]]) + [arr[0]] + qsort2([x for x in arr[1:] if x > arr[0]])) | |
| bsort = (lambda arr:arr if (len(arr)<2) else (lambda mid:bsort(filter(lambda x:x <= mid,arr))+bsort(filter(lambda x:x > mid,arr)))((max(arr)+min(arr))/2)) | |
| merge = lambda a,a1,a2: a+a2 if not a1 else a+a1 if not a2 else merge(a+[a1[0]],a1[1:],a2) if a1[0] < a2[0] else merge(a+[a2[0]],a1,a2[1:]) | |
| msort = lambda a:a if (len(a)<2) else merge([],msort(a[:len(a)/2]),msort(a[len(a)/2:])) |
| extension LazySequenceType { | |
| public func reduceWhile<T>( | |
| initial: T, | |
| @noescape combine: (T, Self.Generator.Element) -> T, | |
| @noescape criteria: (T) -> Bool | |
| )-> T { | |
| var generator = self.generate() | |
| var now = initial |
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| # forked from http://playbear.github.io/2015/09/30/net-music-comment/ | |
| import requests | |
| import json | |
| import os | |
| import base64 | |
| from Crypto.Cipher import AES |
| //ThoughtsOnRESTAPI.swift | |
| //Thoughts On how a good REST API library should look like | |
| /* | |
| object mapping : entity <-> json | |
| can do it by reflection? | |
| hierarchical configuration: | |
| - auth header (for all requests) | |
| - require status code, method verb etc (one config for each request) | |
| - parameter and payload |
| template <class T> | |
| struct MyArray { | |
| private: | |
| T * arr; | |
| size_t size; | |
| public: | |
| using type = T; | |
| MyArray(size_t size) : | |
| size(size), |
| // | |
| // main.swift | |
| // RYJSON | |
| // | |
| // Created by Xplorld on 2017/2/18. | |
| // Copyright © 2017年 xplorld. All rights reserved. | |
| // | |
| import Foundation | |
| //a JSON parser |
| #include <iostream> | |
| #include <stack> | |
| //a stupid stack machine | |
| typedef enum : int { | |
| ADD, //0 | |
| SUB, | |
| MUL, | |
| DIV, |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| struct Base; | |
| struct Derived; | |
| int f_Base(struct Base * b); | |
| int f_Derived(struct Derived* d); | |
| typedef struct { | |
| int (*f)(struct Base *); |
This work is copied from http://colinm.org/language_checklist.html. Thanks to Colin McMillen, Jason Reed, and Elly Jones for this amazing work!
Programming Language Checklist by Colin McMillen, Jason Reed, and Elly Jones.
You appear to be advocating a new: [ ] functional [ ] imperative [ ] object-oriented [ ] procedural [ ] stack-based [ ] "multi-paradigm" [ ] lazy [ ] eager [ ] statically-typed [ ] dynamically-typed [ ] pure [ ] impure [ ] non-hygienic [ ] visual [ ] beginner-friendly [ ] non-programmer-friendly [ ] completely incomprehensible