创新工场2014笔试算法题汇总
来源:互联网 发布:双11淘宝电脑打折么 编辑:程序博客网 时间:2024/06/05 07:04
1. 堆排序
#include<iostream> usingnamespace std; void SwapValue(int &m, int &n) { int temp = m; m = n; n = temp; } void max_heap(vector<int> &vec, int i, int heap_size) { int l = 2*i; int r = 2*i+1; int largest = i; if(l<=heap_size && vec[l-1]>vec[largest-1]) largest = l; if(r<=heap_size && vec[r-1]>vec[largest-1]) largest = r; if(largest!=i) { SwapValue(vec[largest-1],vec[i-1]); max_heap(vec, largest, heap_size); } } void heapSort(vector<int> &vec) { int heap_size = vec.size(); for(int i=heap_size/2; i>=1; i--) max_heap(vec, i, heap_size); for(int i=heap_size; i>=1; i--) { SwapValue(vec[0],vec[i-1]); max_heap(vec, 1, i); } } void print(vector<int> vec) { for(int i=0; i<vec.size(); i++) cout<<vec[i]<<" "; cout<<endl; } int main() { vector<int> vec; vec.push_back(23); vec.push_back(5); vec.push_back(1); vec.push_back(10); vec.push_back(13); vec.push_back(32); vec.push_back(21); vec.push_back(14); vec.push_back(19); vec.push_back(20); cout<<"排序前: "<<endl; print(vec); heapSort(vec); cout<<"排序后: "<<endl; print(vec); return 0; }
2.求一个正整数N的开方,要求不能用库函数sqrt(),结果的精度在0.001
解析:牛顿迭代
#include<iostream> using namespace std; int main() { int N; cout<<"输入N的值:"; cin>>N double x1 = 1;//初值 double x2 = x1/2.0+N/2.0/x1; while( fabs(x2-x1)>0.001) { x1 = x2; x2 = x1/2.0+N/2.0/x1; } cout<<x1<<endl; return 0; }
3.给定一个矩阵intmaxtrixA[m][n],每行和每列都是增序的,实现一个算法去找矩阵中的某个元素element.
解法一:
#include<iostream> using namespace std; const int M = 4; const int N = 4; int main { int matrix[M][N] = {}; double element; int flag = 1; for(int j=0; j<N; j++) { if(matrix[i][j] == element) cout<<"位置"<<endl; while( flag<M && matrix[i][j]<element ) --flag; while( flag<M && matrix[i][j]>element ) ++flag; } }
解法二:
bool Find(int *matrixA, int m, int n, int element) { bool found = false; if(matrixA != NULL & m & n) { int i,j; i=0;j=n-1; while(i<m;j>=0) { if(maxtrixA[i*n+j] == element) { found = true; break; } else if(matrix[i*n+j]>element --j; else ++i } } }
转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12233289
- 创新工场2014笔试算法题汇总
- 创新工场2014笔试算法题汇总
- 2014创新工场笔试题
- 创新工场笔试小记(创新工厂算法笔试题)
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试题
- 创新工场2014笔试编程题答案
- 创新工场笔试题整理
- 创新工场笔试题整理
- 创新工场一道笔试题
- 创新工场笔试题整理
- 创新工场2018笔试题
- 创新工场笔试题--笔试地点:华南理工大学
- 创新工场笔试题2014 校园招聘 ---武汉站
- 创新工场笔试题2014年,求概率
- python 知识点积累
- 黑马程序员--java技术--基础部分
- 黑马程序员--java技术--面向对象
- contentprovider的学习实例总结
- poj 1632 Vase collection
- 创新工场2014笔试算法题汇总
- Option Menu
- 黑马程序员--java技术--多线程
- Java之异常与错误的区别及java的异常体系
- GCD&LCM--AOJ0005
- POJ 2349 (Prim算法模板)
- 黑马程序员--java技术--集合框架
- Windows平台下NS2网络仿真环境的搭建
- 黑马程序员--java技术--IO流