- 博客(8)
- 收藏
- 关注
原创 数组中只出现1次的数字
1.一个数字:#includeusing namespace std;int FindOneNumberAppearOnce(int data[],int n){ int i,result=0; for(i=0;i<n;i++)result^=data[i]; return result;}int main(){ int data[7]
2014-12-25 20:37:19 488
原创 数组中的逆序对(归并排序)
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。#includeusing namespace std;int InversePairs(int *data,int *copy,int start,int end){ if(start==end) { copy[start]=dat
2014-12-25 16:16:56 425
原创 Top K问题
1.O(nlogk):vector<int> topK(vector<int> a,int k){ vector<int> res(k); for(int i=0;i<k;++i)res[i]=a[i]; make_heap(res.begin(),res.end(),greater<int>()); //最小堆 ...
2014-12-25 10:16:53 586
原创 构造数独
bool valid(int sudoku[][9],int m,int n){ int tmp=sudoku[m][n]; int i,j,k,l; for(i=0;i<9;i++) { if(i!=m&&sudoku[i][n]==tmp)return false; } for(j=0;j<9;j++) {
2014-12-20 14:01:56 709
原创 二叉树面试题
1.重建二叉树#includeusing namespace std;struct node{ char value; node *lchild,*rchild;};node *rebuild(char *pPreOrder,char *pInOrder,int num){ if(num==0)return NULL; node *pRoot=
2014-12-17 21:43:48 542
原创 学习笔记2
1.二分查找#includeusing namespace std;int binary_search(int *a,int n,int x){ int left=0,right=n-1,middle; while(left<=right) { middle=left+(right-left)/2;//middle=(left+right)/2可能溢出。 if(x<a[m
2014-12-17 10:32:39 672
原创 算法导论23(最小生成树)
1.Kruskal算法#include#includeusing namespace std;#define m 7#define n 11int p[m],r[m];struct edge{ int u,v,w;};bool cmp(edge a,edge b){ return a.w<b.w;}void Make_Set(int x) {
2014-12-15 15:33:32 639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人