- 博客(30)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 今日头条笔试编程题
题目如下截图:思路:第一步先 排序。这个大家都能想到。 第二步,三个为一组。首先看前三个 a1,a2,a3. FIRST 如果a2-a1SECOND 如果 a2-a1>10 && a2-a1THIRD 如果 a2-a1>20 则数量 +2;跳到第2 个,a2,a3,a4,为下一组; FOURTH 如果 a2-a110,则数量+1,跳到第3个,a3,a4
2017-08-22 10:51:28
1399
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 链家网2018秋招内推编程题
凭记忆联想,笔试编程题共有三个:1.求两个数之和。要求:输入a,b,输出a与b之和;例如:输入:1 23 45 6输出:3711C++实现:#includeusing namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<endl; } return 0;
2017-08-19 16:21:46
1618
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 c++实现LeetCode142. Linked List Cycle II
题目要求Linked List CycleGiven a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space?如何判断一个单链表中有环?Linked List Cycle IIGiven a linke
2017-07-30 16:08:26
591
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java面试题--输入一个数字输出对应的汉字
比如:输入:120,输出一百二;输入:120034,输出一十二万零三十四;Java实现代码如下:import java.util.Scanner; public class Convert { public void convert(int number) { //数字对应的汉字 String[] num = {"零",
2017-07-02 21:55:05
9663
3
原创 2018链家校招内推-大数据开发工程师笔试编程题
题目1(如下截图所示):分析:一个排序问题C++实现:#includeusing namespace std;void insertSort(int *a,int *b,int n){ int tmp_a,tmp_b;//监视哨 for(int i=1;i<n;i++){ if(b[i]<b[i-1]){ tmp_b=b[i]; tmp_a=a[i
2017-08-22 16:51:31
966
原创 c语言实现图的基本操作--邻接矩阵存储
利用邻接矩阵容易判定任意两个顶点之间是否有边(或弧)相连,并容易求得各个顶点的度。c语言代码实现如下:#include#include#define MAX_VER_NUM 50typedef char VertexType;typedef enum{ DG,UDG}GraphType;typedef struct{ VertexType vexs[MAX_VER_NU
2017-03-26 18:43:51
10297
1
原创 c语言实现二叉树的基本操作--二叉链表存储
利用二叉链表存储,并且利用递归的方法实现二叉树的遍历(前序遍历、中序遍历和后续遍历)操作。c语言具体实现代码如下:#include#include#includetypedef int ElemType;//数据类型//定义二叉树结构,与单链表相似,多了一个右孩子结点typedef struct BiTNode{ ElemType data; struct BiTNode
2017-03-26 18:36:02
15607
5
原创 字符串的基本操作--基于堆分配存储
字符串一般简称为串。堆分配存储结构的串有顺序存储结构的特点,处理方便,操作中对串长又没有任何限制,更显灵活,因此选择堆分配存储串。利用c语言实现字符串的基本操作(查找,替换,连接等):c语言实现详细代码如下:#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#
2017-03-26 18:29:00
4321
原创 线性表合并
已知线性表LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列且不重复。C实现:#includestruct LinerList{ int *list; int size; int MAXSIZE;};int main(){ int list1[15]={2,5,7,8,11}; int list
2017-02-14 22:58:29
920
原创 哈夫曼编码--贪心算法
哈夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。1952年,David A. Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。 在计算机数据处理中,哈夫曼编码使用变
2017-02-14 14:08:27
11408
原创 最小生成树--Prim算法
Prim算法的基本思路:将图中的所有的顶点分为两类:树顶点(已经被选入生成树的顶点)和非树顶点(还未被选入生成树的顶点)。首先选择任意一个顶点加入生成树,接下来要找出一条边添加到生成树,这需要枚举每一个树顶点到每一个非树顶点所有的边,然后找到最短边加入到生成树。依次,重复操作n-1次,直到将所有顶点都加入生成树中。C++实现:#includeusing n
2017-02-11 22:09:13
400
原创 单源最短路径--贪心算法
一个点(源点)到其余各个顶点的最短路径。也叫做“单源最短路径”Dijkstra。Dijkstra的主要思想:每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径用flag标示该点是否在离源点最近的集合中算法步骤:1.初始时,S只包含源点,即P={v},v的距离为0。U包含除v外的其他顶点,即:Q={其余顶点},若v与U中顶点u有边,则正常有权
2017-02-10 10:45:24
6860
原创 矩阵连乘问题-动态规划求解
矩阵连乘问题 :给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。c++实现:#include using namespace std; int matrixMul(int i, int j, int p[]) { int **array;//arra
2017-02-07 16:59:29
521
原创 棋盘覆盖问题
在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。python实现:# coding:utf-8def chess(tr, tc, pr, pc, size): # tr:棋盘左上角方
2017-02-01 21:55:01
551
原创 整数划分问题(递归)
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)例如但n=4时,他有5个划分,{4},{3,1},{2,2},{2,1,1},{1,1,
2017-02-01 13:19:46
727
原创 汉诺塔问题
设有 A、B、 C 共 3 根塔座, 在塔座 A 上堆叠 n个金盘, 每个盘大小不同, 只允许小盘在大盘之上,最底层的盘最大,如下图 所示。现在要求将 A 上的盘全都移到 C 上,在移的过程中要遵循以下原则:每次只能移动 一个盘;圆盘可以插在 A、B 和 C 任一个塔座上;在任何时刻,大盘不能放在小盘的上面。python实现:def hanoi(a,b,c,n):
2017-02-01 13:12:19
590
原创 python实现决策树
一、决策树原理决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。 决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。决策树是一种知识表示形式,它是对所有样本数据的高度概括决策树能准确地识别所有样本的类别,也能有效地识别新样本的类别。 决策树算法ID3的基本思想:
2017-01-04 16:33:49
3303
原创 Hive函数编程-数值计算
四、数值计算 111. 取整函数: round 112. 指定精度取整函数: round 113. 向下取整函数: floor 114. 向上取整函数: ceil 125. 向上取整函数: ceiling 126. 取随机数函数: rand 127. 自然指数函数: exp 138. 以10为底对数函数: log10 139. 以2为底对数函数: log2
2016-12-13 12:17:35
3298
原创 Hive函数编程-逻辑运算
三、逻辑运算: 101. 逻辑与操作: AND 102. 逻辑或操作: OR 103. 逻辑非操作: NOT 10三、逻辑运算:1. 逻辑与操作: AND语法: A AND B操作类型:boolean说明:如果A和B均为TRUE,则为TRUE;否则为FALSE。如果A为NULL或B为NULL,则为NULL举例:hive> select 1 from
2016-12-13 12:16:26
1939
原创 Hive函数编程-数学运算
二、数学运算: 71. 加法操作: + 72. 减法操作: - 73. 乘法操作: * 84. 除法操作: / 85. 取余操作: % 86. 位与操作: & 97. 位或操作: | 98. 位异或操作: ^ 99.位取反操作: ~ 10二、数学运算:1. 加法操作: +语法: A + B操作类型:所有数值类型说明:返回A与B相加
2016-12-13 12:13:27
6387
原创 Hive函数编程-关系运算
一、关系运算: 41. 等值比较: = 42. 不等值比较: 43. 小于比较: 44. 小于等于比较: 45. 大于比较: > 56. 大于等于比较: >= 57. 空值判断: IS NULL 58. 非空判断: IS NOT NULL 69. LIKE比较: LIKE 610. JAVA的LIKE操作: RLIKE 611. REGEXP操作:
2016-12-13 11:59:19
462
原创 青蛙跳台阶问题
题目:一只青蛙一次可以跳1级台阶,也可以跳2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。本文提供三种解法:1)递归求解:青蛙每跳一次前,有这样三种情况:(1)只剩1级或0级台阶了,只能跳一步或者无法再跳了,那么这条路也走到了终点,走法的种类数可以加1;(2)可以走2级台阶;(3)可以走1级台阶。于是利用python实现递归方法求解:def climb
2016-12-13 11:02:13
652
原创 折半查找(二分查找)
折半查找:又称二分查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后
2016-12-13 10:39:13
695
转载 Machine Learning主要数据集
KDD杯的中心,所有的数据,任务和结果。UCI机器学习和知识发现研究中使用的大型数据集KDD数据库存储库。UCI机器学习数据库。AWS(亚马逊网络服务)公共数据集,提供了一个集中的资料库,可以无缝集成到基于AWS的云应用程序的公共数据集。生物测定数据,在 虚拟筛选,生物测定数据,对化学信息学,J.由阿曼达Schierz的,有21个生物测定数据集(有效/无效的化合物)可供下载。加拿大开放数据,许多政
2016-12-12 17:51:31
993
原创 Python对多属性的重复数据去重
python中的pandas模块中对重复数据去重步骤:1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显示为TRUE;2)再利用DataFrame中的drop_duplicates方法用于返回一个移除了重复行的DataFrame。注释:如果duplicated方法和drop_dup
2016-12-12 14:52:26
46326
原创 堆排序
堆排序(Heapsort):是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。堆排序的两大步
2016-12-10 18:54:31
515
原创 Python递归实现快速排序
快速排序(QuickSort)是对冒泡排序的一种改进:基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)以第一个数
2016-12-10 18:33:05
5749
原创 Python递归实现全排列
排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列;全排列:当n==m时,称为全排列;比如:集合{ 1,2,3}的全排列为:{ 1 2 3} { 1 3 2 }{ 2 1 3 }{ 2 3 1 }{ 3 2 1 }{ 3 1 2 }递归思想:取出数组中第一个元素放到最后,即a[1]与a[n]交换,然后递归求a[n-1]的全
2016-12-10 18:15:37
36519
6
原创 Kmeans几种方法比较
Kmeans算法原理:选择K个点作为初始质心repeat将每个点指派到最近的质心,形成K个簇重新计算每个簇的质心until 簇不发生变化或达到最大迭代次数案例:对于NBA球员的平均每分钟助攻和平均每分钟得分数据,进行聚类。1.利用python中自带的sklean模块实现Kmeans算法:#-*-coding:utf-8 -*-from s
2016-12-10 12:37:56
2460
原创 Python脚本之间调用
自己遇到的很简单的小问题,写出来给需要的朋友参考下。如果对于两个(或多个).py脚本,其中一个脚本需要调用另外一个(或多个)脚本,解决步骤如下:1)将两个(或多个)脚本放在同一个目录下;2)需要调用的脚本中导入需要调用的脚本,from py导入的脚本名 import *;3)执行当前脚本。具体案例: 我现在需要写一个看means算法,我写了两个脚本,一个kmeans
2016-12-09 21:44:18
1799
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人