36 进制

看到同事桌上有一份面试题,有一个 36 进制运算的题目,手贱敲了一下,不调真的不好做啊 #include <stdio.h> #include <string> #include <algorithm> #include <math.h> int convert_36_10(std::string strNum) { std::reverse(strNum.begin(), strNum.end()); int n = 0; for (……

阅读全文

Linked List Cycle

所谓拳不离手曲不离口,算法和基础不能丢。 话说三藏师徒四人辞别女儿国,再上西行路,今天来到。。。啊呸,扯远了。。 今天来看这个,https://oj.leetcode.com/proble…,题目是这么说的 Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space? 这题原……

阅读全文

练手代码白板

先来一个简单的 list #include <stdio.h> class ListNode { public: ListNode(int n) { this->n = n; this->pNext = NULL; } int n; ListNode* pNext; }; class List { public: ListNode* pHead; List(ListNode* pHead) { this->pHead = pHead; } List* add(ListNod……

阅读全文

基于 AC 自动机的多模匹配的 map

昨天写了一个 AC 自动机的模版题,现在,我们需要基于这个模版,实现一个多模匹配的 map,具体是这样的,我们给一个 map<string, int>,然后给一个串,要求在这个串里面,把 map 中含有的 key 的 value 都返回出来。 注意到昨天的模版题的实现,是会去改动树本身的,同时也没有做一些内存管理方面的处理,另外的区……

阅读全文

std unique 的实现

接触到 std 的 unique 这个函数,看了一下实现,自己也写了一下。在读默认的实现的时候发现代码真是的比较坑爹的,缩进啊,花括号啊,之类的,都是不按规范来的。 自己照着写了一个如下 #include <iostream> #include <vector> template<class It> It myUnique(It itBegin, It itEnd) { f……

阅读全文

蛇形填数

之前因为家里的原因,回乡下一个星期,期间都没有机会,也没有心情写代码,一个星期就这么毫无长进,罪过。 看到一个蛇形填数的题目,搞了搞,代码如下 #include <stdio.h> #include <stdlib.h> void print(int **a, int n) { for (int y=0; y<n; y++) { for (int x=0; x<n; x++) { printf……

阅读全文

生成可重集的排列

刘汝佳在算法竞赛入门经典,http://book.douban.com/subject…,的 118 页提到生成一个可重集的全排列问题,跟上次的 生成一个字符串的全排列 很相像,但是写法却巧妙很多 #include <stdio.h> void quick_sort(int a[], int left, int right) { int i=left, j=right; int povit = a[(i+j)/2]; while (i ……

阅读全文