算法
菩提树下写代码
代码是表象,思想是灵魂。
展开
-
求从一个矩形的一个点到其对角点有多少种走法
题目描述: 淘宝公司内部有许多新鲜的小玩具,例如淘宝智能机器人。小时候,大家都玩过那个吃豆子的游戏吧,这机器人就是按照这个游戏设计的,它会朝着豆子的方向行走。不过机器人还存在一个bug,他只会朝南和朝东走。现在有一块空地,分成了n*m个格子,每个格子内有一颗豆子。机器人的起点在西北角,终点在东南角。请问机器人从起点到终点有多少种不同的方法。 算法分析:因为每次都只能向下或者向左走,所以到一个格子的原创 2017-08-13 11:42:06 · 2382 阅读 · 0 评论 -
求最大公约数的不同解法
对于两个数a,b要求他们的最大公约数?原创 2017-08-13 11:30:51 · 782 阅读 · 0 评论 -
删除不知道头结点的单链表中的p指针所指的值
题目描述:在一个单链表中,不知道头结点,也不知道有多长和是否存在循环,要求删除指针P所指的节点,注意P不为最后一个节点!\color{blue}{题目描述:}\color{purple}{在一个单链表中,不知道头结点,也不知道有多长和是否存在循环,要求删除指针P所指的节点,注意P不为最后一个节点!} 解题思路: 一般情况下要删除指针P所指的节点就必须先从头结点开始遍历整个单链表直到找到P原创 2017-07-31 17:20:49 · 1629 阅读 · 0 评论 -
关于链表的一些问题
1.判断一个任意长度的链表是否存在环?答:很多人也许会设置一个指针指向第一个节点,但是这种方法是错误的,因为链表可能是从中间某个节点开始才有环的,开始的节点并不一定会在环里面。让我们想象一下如果一个链表存在环的话,那么这个链表一定是“6”型或“0”型的,也就是开始可能存在某些节点不存在环之中,这就增加了这个的复杂性,那么很多人会想到设置一个浮标,然后遍历一遍链表这样做是可以的但是时间复杂度为O(原创 2017-07-28 23:10:53 · 304 阅读 · 0 评论 -
关于指针和sizeof学习的一些总结
前段时间主要学习了一些关于指针方面的知识,结合以前碰到的一些问题,在这里总结一下,便于以后进行快捷的学习。 1)关于int * const a(此处没给a初始化值所以有错误);和 int const *a;的区别: 前面一个学名叫指针常量,表示整形指针a指向固定的地址,不能对a的值进行加减、赋值操作。但是可以对整形指针a的解引用(*a)进行赋值等操作; 后面一个学名叫常原创 2017-07-28 23:10:48 · 308 阅读 · 0 评论 -
求N^N的最左的一位数
题目描述:如标题所示!算法分析:m=n^n --> log m=log n^n=n*log n -->m=10^(n*log n);对于10的整数次幂,第一位为1,所以第一位取决于n×logn的小数部分!用c++中的MATH库中的log运算就可以了!本题中数比较大 最好用double型。。原创 2017-07-28 23:10:45 · 771 阅读 · 0 评论 -
求N^N的最右的一位数!!
题目描述:如标题算法分析:解法一:用for循求n次运算,每次对10求余;缺点:适合N很小的情况,当N很大的时候会很耗时!!解法二:对于尾数为0,1,5,6的数最终都是本数; 对于尾数为4,9都是经过一个中间数回到原数(4-6-4,9-1-9) 对于2,3,7,8(2-4-8-6-2,3-9-7-1-3,7-9-3-1-7,8-4-2-6-8)原创 2017-07-28 23:10:42 · 1267 阅读 · 0 评论