- 博客(307)
- 收藏
- 关注
转载 Keyboard Row
一开始也想到了在三个行里匹配, 但是只想到了 SortedSet, 然后再 ToLower().Distinct() 来判断是否是真子集.然后程序员只有两种: 懂正则表达式的和不懂正则表达式的:) 既然是匹配, 怎么就想不到用正则表达式呢?于是开始使用正则表达式. 一开始使用的是这个: [qwertyuiop]*|[asdfghjkl]*|[zxcvbnm]* 可是结果...
2017-03-16 14:42:00 243
转载 Mono ASP.NET core 添加 Entity Framework
Mono ASP.NET core 添加 Entity Framework 的时候, 仅仅用 Nuget 添加 System.Data.Entity 是没用的。还需要添加一个叫做EntityFramework 的包才能使用。转载于:https://www.cnblogs.com/wuOverflow/p/6139536.html...
2016-12-06 23:14:00 215
转载 重置 Homebrew 的源
因为无法明说的原因, Homebrew 太慢了所以就看到许多国内说是比较快的源,但是他们更新的都不怎么及时。又因为买了一个 shadowsocks 的账号,所以大不了开代理使用,所以就打算放弃国内源,转而想使用一开始官方的源了。可是一搜索,结果还是各种国内的源,或者就是国内源的替换教程,我突然想既然能替换成国内的,那就能替换回官方的。可是官方的源,地址在哪呢?后来在网上看到 ...
2016-12-06 23:11:00 200
转载 复习:几个常见排序的实现
typedef vector<int> Container;void printVec(const Container& data){ for(int i : data) printf("%d ", i); printf("\n");}void checkSort(function<Contain...
2016-07-13 13:42:00 104
转载 最大子数组的和
问题是给一个数组,求其最大子数组的和。 思路很简单,只需要记录当前最大和当前的和,若当前的和最大,则替换之,若当前之和小于等于 0,则直接使之为 0,从下一个数开始。考虑到加到最后一个之后无法判断当前和与最大和的大小,所以在最后需要再判断一下。int GetMaxSubArraySum(const vector<int>& arr){ i...
2016-07-03 12:53:00 105
转载 数组的最少补丁数
距上一次写博客已是好久了,也是因为自己当时心理比较脆弱,面试的时候面试官跟我说我写的这些东西毛用没有确实当时是给我当头一棒,冷水浇头,然而现在领导给了我一些鼓励,所以我就又来耕耘了。问题:给一个升序排序后的数组 nums 和一个整数 N,在数组中添加若干个元素(数) 使得 1~N 内所有的数都可以表示成 nums 中若干数的和。求最小需要的补丁数。无关紧要的吐槽:其实这个问题...
2016-07-03 01:29:00 187
转载 找众数
int findMajority(const std::vector<int> &array){ assert(!array.empty ()); int majority = 0; size_t counter = 0; std::for_each(array.cbegi...
2016-03-07 22:03:00 135
转载 删除 C 风格字符串中间的 '*'(不用库函数)
char* removeMiddleStar(char *str){ if (!str) return str; char *p = str; for(; *p == '*'; ++p); char *q = p; while(*++q != '\0');...
2016-03-03 17:51:00 225
转载 智能指针二叉树(填坑中)
struct Node;using NodePtr = std::unique_ptr<Node>;struct Node{ int value; Node* parent = nullptr; NodePtr left = nullptr; NodePtr right = nullptr; Node(in...
2016-03-02 00:57:00 257
转载 李白打酒
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。求可能的方案总数。我的方法:size_t num_solutions = 0;void keepWalking(size_t num_alcohol, size_t num_f...
2016-02-19 03:15:00 77
转载 检查字符串是否相等
bool checkSame(std::string a, std::string b){ constexpr int size = 145; std::vector<int> count(145); std::for_each(a.cbegin (), a.cend (), [&](char c){++count[c - ' '...
2016-02-15 02:15:00 107
转载 RAII 封装的 thread
class ThreadRAII{public: // whether join or detach should be called, // when a this object is destroyed. enum class DtorAction { join, detach }; ThreadRAII(std::thread...
2016-02-14 01:27:00 152
转载 智能指针版本链表
class Node;using NodePtr = std::unique_ptr<Node>;class Node{public: int value; NodePtr next = nullptr; explicit Node(int value_ = 0): value(value_){}};Nod...
2016-02-13 15:05:00 131
转载 数字转字符串实现
int convert(char buf[], int value){ constexpr char digits[] = {'9', '8', '7', '6', '5', '4', '3', '2', '1', '0', '1', '2', '3', '4', '5', '6', '7', '8', '...
2016-02-11 18:04:00 191
转载 裸指针对链表的相关操作
struct Node{ int value = 0; Node* next = nullptr; Node(int value_) : value(value_) {}};Node* createLinkList(const std::vector<int>& data){ if (data....
2016-02-11 16:32:00 78
转载 快排
最基本的快排:int partition(int arr[], int l, int r){ int k = l; int pivot = arr[r]; for (int i = l; i != r; ++i){ if (arr[i] < pivot){ std::swap(arr[i], ar...
2016-02-11 01:33:00 85
转载 找到所有变位词
typedef std::list<std::string> List;typedef std::map<std::string, List> Map;Map getAnagrams(List& input){ Map result; for (const auto& s : input){ ...
2016-01-23 02:14:00 147
转载 mysql
#include <iostream>#include <vector>#include <string>#include <mysql.h>using namespace std;int main(){ ios::sync_with_stdio (false); MYSQL con...
2016-01-21 21:24:00 88
转载 左旋一个字符串和手摇反转法
void leftRoutate(std::string& s, size_t offset){ auto reverse = [&](size_t begin, size_t end) { --end; while (begin <= end){ std::swap(s[be...
2016-01-20 03:27:00 72
转载 LCS
size_t LCS(const std::string& x, const std::string& y){ if (x.empty () || y.empty ()){ return 0; } const size_t width = x.length () + 1; const size_t hei...
2016-01-16 18:12:00 94
转载 从以其他字符分隔的字符串中取数字段
vector<std::string> extractNums(const std::string& s){ vector<std::string> nums; bool extracting = false; auto begin = s.cbegin(); for (auto it = s.cbegin(...
2015-12-31 14:49:00 89
转载 Range Sum Query - Immutable
我之前总是觉得查表最快,然后就老是想着如何制表,睡觉的时候发现我还是太固执了。class NumArray {private: vector<int>* pData_;public: NumArray(vector<int> &nums) { pData_ = &nums; ...
2015-12-18 15:47:00 97
转载 Triangle
题目如下:我的思路是从上往下沉淀。int minimumTotal(vector<vector<int>>& triangle){ for (int i = 1; i != triangle.size(); ++i){ auto& lastRow = triangle[i - 1]; ...
2015-12-17 20:02:00 90
转载 Remove Duplicate Letters
题目就是给一串全小写的字符,要求删除重复的字符。另外最后的结果必须首先按照原文顺序排列,其次是按照字典序排列。比如说:Given"bcabc"Return"abc"Given"cbacdcbc"Return"acdb"按照提示,说是贪心算法。贪心吗,每一步只要当前最优的解。好吧,当前最优的解是什么?删除重复字符:是独一无二的按原文顺序排列:从头遍历...
2015-12-17 18:29:00 100
转载 array 并不会被默认初始化
重要的事情说三遍:array 并不会被默认初始化array 并不会被默认初始化array 并不会被默认初始化转载于:https://www.cnblogs.com/wuOverflow/p/5052739.html
2015-12-16 23:28:00 107
转载 Unique Binary Search Trees
其实和大小没啥太大关系,主要因素是元素个数,也就是说,1,2 和 3,4 可能构成的排列组合个数是一样的,大概的思路就是这样的:式子出来了,那代码也就出来了:int numTrees(int n) { vector<int> treeNumList(n + 1); function<int(int)> getTreeNum;...
2015-12-15 00:25:00 69
转载 有些障碍的 unique path
我第一时间想到的方案是化归而不是规划,毕竟之前的问题类似,所以就有了这个版本:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { if (obstacleGrid.empty()){ return 0; } co...
2015-12-14 16:52:00 111
转载 unique paths
但是解答很简单。因为机器人只能向右 / 下 移动,所以要到达目标 A 的可能路线就是到达它正上方的那一块的可能路线数和到达它正右方的那一块的可能路线数之和。所以就简单了:int uniquePaths(int m, int n){ vector<vector<int>> record((m + 1), vector<int...
2015-12-14 00:59:00 88
转载 最长增长序列的长度(LIS)
我最早的思路是反过来遍历,结果总是不对。因为老是觉得动态规划就是列递归,所以一心琢磨着怎样递归,导致一直不对。正确的思路应该是什么呢?应该是尝试用符号表示其最优的状态和其子状态,然后找出状态之间转移的方法。最后实现这个方法。最长增长序列的最优状态是什么样子呢?既然是最长,肯定是要容纳尽可能多的元素,怎样容纳尽可能多的元素呢?那就是较小值尽可能小。那么遍历到的新元素就存在两种情...
2015-12-13 21:45:00 99
转载 极其简单的复数类,只是不想再推演一遍复数四则运算
class Complex{private: double real_ = 0.0; double imag_ = 0.0;public: Complex() = default; explicit Complex(double real, double imag): real_(real), imag_(imag...
2015-12-04 17:21:00 191
转载 有三个线程,ID 分别为 A,B,C 要求三个线程按顺序循环打印若干次
std::mutex m;std::condition_variable cond;int flag = 0;constexpr int kLoopTimes = 10;void foo(int id){ for (int i = 0; i != kLoopTimes; ++i){ std::unique_lock<std::mute...
2015-11-19 19:40:00 143
转载 安装 mysql 示例数据库时遇到的问题与解决
安装方法十分简单,打开 mysql 后输入 \. .../.../employees.sql; 就可以。吗?然后就遇到问题了,第一个是这样,我输入上面的代码之后,给我的是这个:Access denied for user为啥呢? 因为没有以 root 的身份登录,只需要这样登录就可以; mysql -uroot 然后就行了。吗?导入倒是似乎成功了,但是里面只有空表。...
2015-11-13 16:27:00 113
转载 有一曲线,当 x 趋近于正无穷时,y 趋近于 a
转载于:https://www.cnblogs.com/wuOverflow/p/4960027.html
2015-11-12 19:23:00 831
转载 并行却并不高效的 find
template<typename Iterator, typename MatchType>Iterator parallelFind(Iterator first, Iterator last, MatchType match){ struct FindElement { void operator()(Iterator ...
2015-11-04 14:20:00 116
转载 精确获取当前系统时间
const std::string getCurrentSystemTime(){ auto tt = std::chrono::system_clock::to_time_t (std::chrono::system_clock::now()); struct tm* ptm = localtime(&tt); char date[60] = {...
2015-11-03 17:37:00 273
转载 并行但并不十分高效的 for_each 实现
class ThreadsJoiner{ std::vector<std::thread>& threads;public: ThreadsJoiner(std::vector<std::thread>& threads_): threads(threads_) {} ...
2015-11-03 17:24:00 147
转载 得到 1 + 22 + 333 + 4444 + ... + nnn..n 的和
int foo(int n){ if (n < 1){ return 0; } int result = 0; for(int i = 1, factor = 1; i <= n; (factor += (pow(10.0, i))), ++i){ result += (i ...
2015-10-29 18:26:00 4382
转载 更简洁的线程安全的并行 accumulate
template<typename Iterator, typename T>T parallelAccumulate(Iterator first, Iterator last, T init){ size_t const length = std::distance(first, last); if (length == 0){ ...
2015-10-24 18:44:00 116
转载 异常安全的并行 accumulate
template<typename Iterator, typename T>struct AccumulateBlock{ T operator()(Iterator first, Iterator last) { return std::accumulate(first, last, T()); }};...
2015-10-24 17:57:00 101
转载 读取一段字符,以回车结束
while(static_cast<char>(std::cin.get()) != '\n') { //若读取的字符串不是换行符,则将其放回流内。 std::cin.unget(); cin >> input; // ... }转载于:https://www.cn...
2015-10-20 20:15:00 421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人