Skip to content

Instantly share code, notes, and snippets.

View fellipecaetano's full-sized avatar

Fellipe S. Scarpa Caetano fellipecaetano

  • Software Engineer @uber
  • Campinas, São Paulo, Brazil
View GitHub Profile
# initialization file (not found)
"""
retorno:
(array[j] - array[j], i, j) tais que
- array[j] - array[i] é máximo
- 0 <= i <= j <= n; n = len(array)
"""
def max_pair(array):
# len(array) = n
# caso base: n = 2
if len(array) == 2:
@fellipecaetano
fellipecaetano / merge_subarrays.cpp
Created December 5, 2016 21:40
Merge two subarrays of Time according to greedy criterion
void merge_subarrays(vector<Time> &array, int low, int mid, int high) {
vector<Time> left;
left.resize(mid - low);
vector<Time> right;
right.resize(high - mid);
for (int i = 0; i < left.size(); i++) {
left[i] = array[low + i];
}
@fellipecaetano
fellipecaetano / keybase.md
Created August 30, 2017 17:59
keybase.md

Keybase proof

I hereby claim:

  • I am fellipecaetano on github.
  • I am fellipe (https://keybase.io/fellipe) on keybase.
  • I have a public key ASCt5x5Dy6pQDbqui-cMC66q8snSKx3uI2SQpSsXMlHSMQo

To claim this, I am signing this object:

@fellipecaetano
fellipecaetano / p1-2016.prolog
Last active September 11, 2017 22:59
MC346 - P1 (2016S1)
%%% questão 2
numero(L) :- numero(L, []).
numero --> inteiro.
numero --> inteiro, ['.'].
numero --> inteiro, ['.'], inteiro.
inteiro --> digito.
inteiro --> digito, inteiro.
@fellipecaetano
fellipecaetano / p1-2014.prolog
Created September 11, 2017 22:49
MC346 - P1 (2014S1)
%%% questão 1
vogais(N) :- vogais(0, N).
vogais(A, N) :- get_char(C), vogais(C, A, N).
vogais('\n', A, N) :- A = N, !.
vogais('a', A, N) :- A1 is A + 1, !, vogais(A1, N).
vogais('A', A, N) :- A1 is A + 1, !, vogais(A1, N).
vogais('e', A, N) :- A1 is A + 1, !, vogais(A1, N).
vogais('E', A, N) :- A1 is A + 1, !, vogais(A1, N).
vogais('i', A, N) :- A1 is A + 1, !, vogais(A1, N).
vogais('I', A, N) :- A1 is A + 1, !, vogais(A1, N).
import RxSwift
import Alamofire
import RxAlamofire
func LoadPoliticiansEpic(actions: Observable<Action>) -> Observable<Action> {
let sessionConfiguration = AppEnvironment.sessionConfiguration
let sessionManager = SessionManager(configuration: sessionConfiguration)
return actions
.filter({ action in
@fellipecaetano
fellipecaetano / duplicate_snapshots.py
Created September 21, 2017 17:15
Duplicate current set of snapshots, changing the versions on the copies
#!/usr/bin/env python3
import argparse
import glob
import shutil
import re
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--reference-image-folder',
dest='reference_image_folder')
@fellipecaetano
fellipecaetano / Networking.swift
Last active October 12, 2017 23:02
At attempt at solving networking. Just paste it inside an Xcode Playground and start from there.
import Foundation
struct HTTPRequest<T> {
let method: HTTPMethod
let path: String
let parameters: [String: Any]
let headers: [String: String]
let response: ExpectedHTTPResponse<T>
}
@fellipecaetano
fellipecaetano / PHImageAssetLoader.swift
Created October 27, 2017 18:10
A loader for asset images
import Photos
import RxSwift
final class PHAssetImageLoader: ImageLoader {
func loadImage(with url: URL) -> Single<UIImage> {
return Single<UIImage>.create { observer in
let imageManager = PHImageManager.default()
var requestIdentifier: PHImageRequestID?
DispatchQueue.global(qos: .userInitiated).async {