算法
文章平均质量分 86
小萝莉_Lolita
做自己的superman
展开
-
回溯算法
引自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html作者写的通俗易懂,学习。1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,转载 2015-06-25 21:19:02 · 483 阅读 · 0 评论 -
ZOJ Problem Set - 1005 Jugs
文章出处:http://blog.csdn.net/rongyongfeikai2/article/details/7315702作者思路简单易懂,借鉴了~~~JugsTime Limit: 2 Seconds Memory Limit: 65536 KB Special JudgeIn the movie "Die Hard 3", Bruce转载 2015-06-27 16:07:43 · 829 阅读 · 0 评论 -
ZOJ Problem Set - 1006 Do the Untwist
Do the UntwistTime Limit: 2 Seconds Memory Limit: 65536 KBCryptography deals with methods of secret communication that transform a message (the plaintext) into a disguised form (the c原创 2015-06-27 15:18:45 · 532 阅读 · 0 评论 -
给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数。
某所某中心的笔试题,感觉真的是分分钟被碾压已知rand5()产生0-5的随机整数,利用该函数生成函数rand7()产生0-7的随机整数。rand5可以随机生成1,2,3,4,5;rand7可以随机生成1,2,3,4,5,6,7。 rand5并不能直接产生6,7,所以直接用rand5去实现函数rand7似乎不太好入手。 如果反过来呢?给你rand7,让你实现rand5,这个好实现吗?一个原创 2015-09-20 19:22:52 · 7811 阅读 · 0 评论 -
二分查找
前提:数据按照大小存储,并且用数组存储 思想:因为数组是有序的(一般是递增),所以我们首先取中间值与待查找的值进行比较,如果相等,则找到并返回;如果比待查找的值小,则待查找的值必定位于中间值的左侧,所以我们一下子将查找的范围缩小了一半。如此反复即可。 需要三个变量low high mid分别记录待查的范围及其中间位置//如果找到则返回其在数组中的索引;否则返回-1public int...原创 2018-03-02 16:58:15 · 175 阅读 · 0 评论 -
剑指Offer面试题思路解析
面试题58:二叉树的下一个节点给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路分析: 1.如果二叉树为空,返回空 2.如果二叉树的右子树不为空,那么返回右子树的最左孩子节点 3.如果二叉树的右子树为空,那么寻找第一个节点是父节点左孩子的节点,返回其父节点,既是当前节点的下一个节点。p...原创 2018-04-18 18:15:02 · 257 阅读 · 0 评论 -
剑指Offer面试题32:从1到n整数中1出现的次数
题目: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11,12,1一共出现了5次思路一:最直白但是时间复杂度高的解法 依次累加1到n中每个整数1出现的次数。每次可以通过对10求余数判断整数的个位数是不是1 public int NumberOf1Between1AndN(int n) { ...原创 2018-07-11 15:55:03 · 293 阅读 · 0 评论