- 博客(12)
- 收藏
- 关注
原创 LeetCode题目:Linked List Cycle II
class Solution {public: ListNode *detectCycle(ListNode *head) { if (head == NULL) return NULL; ListNode *p1 = head, *p2 = head->next; if ( p2 == NULL) return NULL; if (p2 == head) {
2014-07-19 22:42:11 418
原创 利用快速排序对单链表进行排序
今天上午在K一道单链表排序题(目前LeetCode第四题),利用快速排序实现的版本过不了时间限制,不排除我实现中优化做得不够。Partition的算法和
2014-07-17 14:24:23 953
原创 2014大众点评Hackathon参赛感想
在点评公司安排的酒店里打下这行字,感慨还是不少的。主办方点评公司无论是吃住还是比赛安排上,看出来都非常用心:酒店的住宿日程安排很全面,零食足够,就算盒饭也是质量上乘。大家一致觉得要给好评。据说这次有2000+的人报名参赛,选拔到现场的60人机会还是挺宝贵的,我是线上测试来的,C++组第一名(共591人),Java组100名左右,C语言组50名左右,Obj-C组20名左右。因为C++组分差拉的比较大
2014-07-16 09:59:05 1023
原创 POJ 3669 Meteor Shower
#include#include#includeusing namespace std;#define MAX_X 400#define MAX_Y 400int a[MAX_X+1][MAX_Y+1];bool vi[MAX_X+1][MAX_Y+1];struct Pos{int x;int y;int t;};Pos v[4]={{0,1},{0,-1},{1,0}
2014-05-24 23:49:55 552
原创 POJ 3225 Roadblocks
贴一道利用优先队列实现的Dijkstra算法。这道题是要求次短路,所以对Dijkstra算法略作修改,同时保存最短和次短路数组。#include#include#include#include#include//#includeusing namespace std; struct Edge{ long long cost; int to;
2014-05-24 23:41:47 488
原创 POJ 3723 Conscription 并查集 + Kruskal
#include#include#includeusing namespace std;#define MAX_N 20002#define MAX_E 50001struct edge{ int u, v, cost;};int par[MAX_N];int Rank[MAX_N];edge es[MAX_E];int V, E;bool compare(co
2014-05-24 23:37:33 571
原创 C++实现的快速排序
快速排序,Quick Sort。采用了经典的分治思想:每次确定一个元素的位置,并将序列分为两个子序列:小于等于该元素、大于等于该元素。问题转为分别对刚得到的两个序列进行处理,直到序列长度为1.Partition函数是比较重要的,这里采用了和算法导论类似的想法:每次随机从中抽取一个元素A,将其与序列尾部元素交换。从头向后扫描,保存两个index:small、index。small逐渐
2014-05-14 23:58:58 779
原创 C++实现的一段希尔排序代码
#include#include#includeusing namespace std;void ShellSort(int *a, int n){ int d; d = n / 2; while (d >= 1) { for (int i = 0; i < d; i++) { for (int j = i; j < n; j += d) { //I
2014-05-13 23:19:25 562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人