链家笔试算法题
2017-10-18 22:51
295 查看
1 给定一个数组,将奇数排在偶数前面
思路:类似于快排的思想
2 删除有序链表中的重复元素
代码如下:
3 大数乘法
4 编辑距离
思路:类似于快排的思想
#include<iostream> #include<stdio.h> #include<memory.h> using namespace std; void exchange(int a[], int n) { int low = 0, high = n-1; while(low < high) { while(low < high && a[low] % 2 == 1) low++; while(low < high && a[high] % 2 == 0) high--; swap(a[low],a[high]); } }
2 删除有序链表中的重复元素
代码如下:
#include<iostream> #include<stdio.h> #include<memory.h> using namespace std; struct LinkList { int val; LinkList * next; LinkList(int v):val(v) {} }; void removeDup(LinkList * head) { LinkList *pre, * cur; if(head == nullptr) return ; pre = head; cur = pre->next; while(cur) { if(cur->val == pre->val) { cur = cur->next; pre->next = cur; } else { pre = cur; cur = cur->next; } } } //测试 int main() { int a[] = {1,1,2,3,3,4}; LinkList *head = nullptr, *p = nullptr; for(int i = 0; i < 6; i++) { if(head == nullptr) { head = p= new LinkList(a[i]); p->next = nullptr; } else { p->next = new LinkList(a[i]); p = p->next; p->next = nullptr; } } p = head; while(p) { cout<<p->val<<" "; p = p->next; } cout<<endl; removeDup(head); p = head; while(p) { cout<<p->val<<" "; p = p->next; } return 0; }
3 大数乘法
4 编辑距离
相关文章推荐
- 链家笔试题--java实现两个大整数相乘的算法
- 【算法】各大公司笔试题目之数组相关笔试题
- 2013 阿里巴巴算法、数据工程师笔试题选解
- 笔试常见算法小结
- 笔试算法总结一:位操作
- 我在北京找工作(四):java实现递归<1> 一些笔试题+常见算法
- 算法与数据结构——新浪笔试题
- 笔试面试算法经典--打印数组中相加和为给定值的二元组及三元组(Java)
- 算法与数据结构——今日头条笔试题
- 部分it公司算法的笔试题
- 算法学习 并查集(笔试题目:找同伙)
- C/C++笔试题-主要考察C/C++语言基础概念、算法及编程
- 滴滴2017校招算法工程师笔试题--吃饭问题
- 常见算法笔试或面试题
- 笔试算法学习--dp规划(最长非递增子序列)
- 从一道笔试题谈算法优化(下)
- 在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是----阿里巴巴2015实习生笔试题
- 算法-美团2015校招笔试:写一个复杂度为n的排序算法
- 搜狐笔试两道算法题
- IT公司笔试题算法部分(四)