Skip to content

Instantly share code, notes, and snippets.

@leftrk
leftrk / list.txt
Last active September 7, 2018 14:32
Jetbrains家的常用插件
- Power Mode II
- KeyPromoter
@leftrk
leftrk / detect.py
Created October 4, 2018 06:58
capture
import cv2
from matplotlib import pyplot as plt
import numpy as np
from sklearn.cluster import *
from sklearn import mixture
from sklearn import metrics
from scipy.stats import mode
class ImgProcessor:
@leftrk
leftrk / binarySearch.cpp
Created December 4, 2018 16:53
二分查找
template <typename Comparable>
int binarySearch(const vector<Comparable>& a, const Comparable& x) {
int low = 0, high = a.size() - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (a[mid] < x)
low = mid + 1;
else(a[mid] > x)
@leftrk
leftrk / maxSum.cpp
Created December 6, 2018 18:25
最大相连子序列和问题
/**
* @param a
* @return maxsum
* @brief 最大相连子序列和的 O(n^3) 算法
*/
int maxSubSum1(const vector<int> &a) {
int maxSum = 0;
for (int i = 0; i < a.size(); ++i)
for (int j = i; j < a.size(); ++j) {
@leftrk
leftrk / maxSum2.cpp
Last active December 7, 2018 08:30
最大相连子序列和的 O(n^2) 算法
/**
* @param a
* @return maxsum
* @brief 最大相连子序列和的 O(n^2) 算法
*/
int maxSubSum2(const vector<int> &a) {
int maxSum = 0;
for (int i = 0; i < a.size(); ++i) {
int thisSum = 0;
@leftrk
leftrk / maxSubSum3.cpp
Last active December 6, 2018 18:57
相连最大子序列和的分治算法O(nlog(n))
/**
* @param a
* @param left
* @param right
* @return maxSum between left and right
* @brief 相连最大子序列和的递归算法
* @note 找出生成 [left ... right] 的子数组的最大和,不试图保留具体的最佳序列
*/
int maxSumRec(const vector<int> &a, int left, int right) {
if (left == right) // 基准情形
@leftrk
leftrk / gcd.cpp
Created December 7, 2018 08:36
欧几里得算法
long long gcd(long long m, long long n) {
while (n != 0) {
long long rem = m % n;
m = n;
n = rem;
}
return m;
}
@leftrk
leftrk / pow.cpp
Created December 7, 2018 08:38
高效率的幂运算
long long pow(long long x, int n) {
if (n == 0)
return 1;
if (n == 1)
return x;
if (n & 0x1)
return pow(x * x, n / 2) * x;
else
return pow(x * x, n / 2);
}
@leftrk
leftrk / Vector.cpp
Created December 9, 2018 09:46
Vector
template<typename Object>
class Vector {
private:
int theSize;
int theCapacity;
Object *objects;
static const int SPARE_CAPACITY = 16;
public:
@leftrk
leftrk / Node.cpp
Created December 9, 2018 09:51
双向链表
template<typename Object>
struct Node {
Object data;
Node *prev;
Node *next;
Node(const Object &d = Object{}, Node *p = nullptr, Node *n = nullptr)
: data{d}, prev{p}, next{n} {}
Node(Object &&d, Node *p = nullptr, Node *n = nullptr)