数据结构与算法
giantjc
数据挖掘、机器学习、深度学习爱好者
https://github.com/Giantjc
展开
-
PAT 1045.快速排序
PAT 1045.快速排序原创 2017-02-11 10:43:41 · 305 阅读 · 0 评论 -
招行信用卡笔试编程题 — 考察树的节点个数C++
秋招,错过了很多笔试,正好做到了招行信用卡的笔试题,编程题以前好像遇到过类似的题目,当时没有解决,这次整理mark一下,还是比较典型的一类题目。题目描述:信用卡开展营销活动,持有我行信用卡客户推荐信用户办卡,开卡成功后获得积分。规定每个客户最多可推荐两个新用户,且每个用户只能被推荐一次,但允许连接效应,即客户A推荐了新用户B,推荐了新用户C,则客户C同时属于A和B的推荐列表,变成计算推荐新户数不小于原创 2017-09-13 22:51:38 · 1106 阅读 · 0 评论 -
排序矩阵(杨氏矩阵)找从小到大的第K个数(C++)
在一个排序矩阵中找从小到大的第 k 个整数。排序矩阵的定义为:每一行递增,每一列也递增。样例如下: 给出k = 4和如下排序数组[ [1, 5, 7], [3, 6, 8], [4, 9, 10]]返回结果为5有两个思路可以分享,1)直接按从小到大顺序找,找K次,每次找最小的元素,时间复杂度为O(k*N); 2)采用最小堆,每次找最小的元素,用右边和下边的元素替换,找K次原创 2017-09-03 14:33:08 · 1654 阅读 · 0 评论 -
马踏棋盘问题 — 深搜和贪心算法
同学面试阿里,被问到了马踏棋盘的问题,作为非计算机专业的门外汉,完全没有听说过,只听说过马踏飞燕。抓紧去搜了一下,发现还是个经典算法,题目是这样的:国际象棋的棋盘为8*8的方格棋盘。现将”马”放在任意指定的方格中,按照”马”走棋的规则将”马”进行移动。要求每个方格只能进入一次,最终使得”马”走遍棋盘的64个方格。这个问题一般有两种思路来解决,一种就是用深度优先搜索,采用递归+回溯的方式,一个棋盘可以原创 2017-03-08 15:34:39 · 13550 阅读 · 6 评论 -
青蛙走迷宫问题--滴滴笔试
青蛙走迷宫问题–滴滴笔试题目:迷宫矩阵(n*m)的每一个元素可以是0或1,1表示可走,0表示走不通,迷宫的入口为(0,0),出口为(0,m-1)。青蛙的体力值为P,向右走消耗1个体力值,向下走不消耗体力值,向上走消耗3个体力值。如果体力消耗最少的路径所消耗的体力值大于P,则输出“Can not escape”,否则,输出青蛙走出迷宫的体力消耗最少的路径和消耗的体力值。 输入:第一行:n m P;原创 2017-02-23 19:32:08 · 663 阅读 · 0 评论