随笔分类 - 算法学习
摘要:一、数塔 Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗? Input 输入数据首先包括一个整
阅读全文
摘要:一、二叉树的遍历 1 题目 %L9WGYIB[IO6OY0.png") 写出这个二叉树的前序遍历,中序遍历,后序遍历。 答案 前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树 遍历结果:A,B,E,F,C,G 中序遍历,也叫中根遍历,顺序是 左子树,根,右子树 遍历结果:E,B,F,A,G,
阅读全文
摘要:一、 愚人节的礼物 题目 四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。 用()表示一个盒子,B表示礼物,Vayko想
阅读全文
摘要:一、解密QQ 题目 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数
阅读全文
摘要:一、侦察队问题 某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人; 2)A和D不能一起去; 3)A、E和F三人中要派两人去; 4)B和C都去或都不去; 5)C和D两人中去一个; 6)若D不去,则E也不去。 试编写一个程
阅读全文
摘要:拆解排序问题 后缀子串排序 题目: 对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain 解题思路: 先将字符串经行拆解,然后将拆解后的字符串进行字典顺序排序 代码: imp
阅读全文
摘要:和上次一样,虽说用 java 语言,但有 c 的基础一样可以看懂哦。 机器人走方格问题Ⅰ 题目概述 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等
阅读全文
摘要:用java写了几道编程题目,分享给大家 语法和C语言几乎一样,不懂 java 会 c 也可以看明白的。 最大连续数列和 题目说明 对于一个有正有负的整数数组,请找出总和最大的连续数列。给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。 测试样例: [1,2,3
阅读全文
摘要:第三章 搜索 深度优先搜索与宽度优先搜索 定义 深度优先搜索(DFS) 过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。 宽度优先搜索(BFS) 不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。 深度优先 与 宽度优先 实现的本质 深优的本质是递归,自己
阅读全文
摘要:第二章 暴力求解(枚举法) 第一节 小学奥数题—程序求解 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 三 羊 生 瑞 气 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字,且“三”字不为 0 。 请计算所有的汉字代表什么意思。 这是一道经典的小学奥数题,相信有不少同学曾经遇到过
阅读全文
摘要:第一章 排序 第三节 快速排序 快速排序是最常用的排序方法。快排运用的递归方法很有意思。掌握了这种排序方法可以在将来学习递归时更快入门。只是快排的思路与之前的排序方法相比较为复杂,再加担心上我的表达能力会让让大家产生误解,所以推荐大家去看大牛的博客,我只给出代码,如果有不懂的同学,可以在评论留下问题
阅读全文
摘要:第一章 排序 第一节 简化版桶排法 友情提示:此文章分享给所有小白,大牛请绕路! 生活中很多地方需要使用排序,价格的由低到高、距离的由远及近等,都是排序问题的体现。如果排序量较少,依靠个人能力很容易实现;但如果排序种类多、数量大,则很难依靠脑力解决。这时就需要我们利用算法来解决问题。 如果你现在还没
阅读全文
摘要:算法练习题(二) 题型:递归 例:汉诺塔问题 汉诺塔问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次
阅读全文
摘要:算法练习题(一) 1.题型:数组与字符串 例一:生成元问题 题目:如果x+x的各个数字之和得到y,就是说x是y的生成元。给出n(1 include define maxn 100005 int ans[maxn]; int main() { int T, n; memset(ans, 0, size
阅读全文