
算法
MSP_甄心cherish
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
素数测试算法
昨天刷LeetCode 时候遇到判断素数的问题 204.Count Primes ,想起hihocoder上之前也出现过,但是当时没看。于是今天整理了一些关于判断一个数是否是素数的知识。因为大部分的内容都是别人的,所以下文主要是提供一些参考链接以下假设要判断的数为n1、传统判断方式判断n是否能被2-n^(1/2)中的数整除,即 204. Count Primes 的解法1原创 2016-05-17 13:54:18 · 797 阅读 · 0 评论 -
BFS 闯迷宫
题目描述:sun所在学校每年都要举行电脑节,今年电脑节有一个新的趣味比赛项目叫做闯迷宫。sun的室友在帮电脑节设计迷宫,所以室友就请sun帮忙计算下走出迷宫的最少步数。知道了最少步数就可以辅助控制比赛难度以及去掉一些没有路径到达终点的map。比赛规则是:从原点(0,0)开始走到终点(n-1,n-1),只能上下左右4个方向走,只能在给定的矩阵里走。输入:输入有多组数据原创 2016-08-19 16:08:38 · 607 阅读 · 0 评论 -
动态规划之背包问题
最近刷题遇到好几道背包问题,背包问题是动态规则中的一类体型,在考察算法的笔试中经常遇到。关于背包问题,文章 背包问题九讲 中已经做了很多分析,这里就不再细述,建议好好看看这篇文章。然而文章给了许多案例分析,却没有很好的练习。说明:1、本文目的不在于讲解背包问题的分析与讲解,而是收集了一些背包问题。希望学习者学习背包问题的时候能找到一些对应的题加以练习。2、本文根据我是刷题中遇到原创 2016-08-11 20:06:42 · 1019 阅读 · 0 评论 -
分组背包问题:不超过N元钱
https://nanti.jisuanke.com/t/256金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 主件 附件 电原创 2016-08-29 16:52:52 · 1636 阅读 · 0 评论 -
微软2016校园招聘:#1239 : Fibonacci
http://hihocoder.com/problemset/problem/1239?sid=822524#1239 : Fibonacci时间限制:10000ms单点时限:1000ms内存限制:256MB描述Given a sequence {an}, how many non-empty sub-sequence原创 2016-07-20 11:30:39 · 530 阅读 · 0 评论 -
华为2016校园招聘:简单错误记录
http://www.nowcoder.com/questionTerminal/67df1d7889cf4c529576383c2e647c48[编程题]简单错误记录开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文原创 2016-07-20 11:00:15 · 674 阅读 · 0 评论 -
排序算法
冒泡void BubbleSort(int[] num){ int n = num.Length; for (int i = 0; i < n-1; i++) { for (int j = 0; j < n - i - 1; j++) {原创 2016-05-20 14:58:04 · 457 阅读 · 0 评论 -
腾讯2017暑期实习生编程题-构造回文
测试链接 http://www.nowcoder.com/questionTerminal/28c1dc06bc9b4afd957b01acdf046e69给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.原创 2016-06-22 20:47:43 · 1657 阅读 · 0 评论 -
腾讯2017暑期实习生编程题-字符移位
测试链接 http://www.nowcoder.com/profile/8851694/test/3538973/44803小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.原创 2016-06-22 20:52:34 · 1397 阅读 · 0 评论 -
百度2017暑期实习生编程题-页面调度算法
测试链接 http://www.nowcoder.com/question/next?pid=1725826&qid=44807&tid=3554159在计算机中,页式虚拟存储器实现的一个难点是设计页面调度(置换)算法。其中一种实现方式是FIFO算法。FIFO算法根据页面进入内存的时间先后选择淘汰页面,先进入内存的页面先淘汰,后进入内存的后淘汰。假设Cache的大小为2,有5个原创 2016-06-22 12:32:33 · 802 阅读 · 0 评论 -
二叉搜索树(BST)的创建、插入、查找和删除
树的结构体定义struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};插入因为二叉搜索树不允许存在相等的值,所以插入有可能失败非递归版bool BSTInsert(TreeNode* &root原创 2016-06-21 15:48:49 · 10051 阅读 · 2 评论 -
剑指Offer-面试题27:二叉搜索树与双向链表
题面:《剑指Offer》P151 / 牛客网输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。如如果不考虑箭头,可以看到4 6 8 10 12 14 16是树的中序遍历因此可以借用中序遍历的方法进行修改/*struct TreeNode { int val; struct TreeNode *le原创 2016-07-06 21:29:11 · 479 阅读 · 0 评论 -
KMP模式匹配算法C++实现
void getNext(string s, int *next){ int n = s.length(), i = 0, j = -1; next[0] = -1; while (i < n-1) { if (j == -1 || s[i] == s[j]) next[++i] = ++j; else j = next[j]; }}int kmp(strin原创 2016-06-18 21:35:44 · 513 阅读 · 0 评论 -
剑指Offer-面试题22:栈的压入、弹出序列
题面:《剑指Offer》P134 / 牛客网输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。分析清楚两个序列的关系问题就能迎刃而解方法1第一个弹出栈的位置无原创 2016-06-30 18:46:38 · 869 阅读 · 0 评论 -
剑指Offer-面试题12:打印1到最大的n位数
题面:输入数字n,按顺序打印出从1到最大的n位十进制数。比如n=3,则打印输出1,2,3....999如果n比较小,可以很容易得到下面的代码void Print1ToMaxOfNDigits(int n){ int i = 0,max = 1; while (i++ < n) max *= 10; for (i = 1; i < max; i++)}但是当n比原创 2016-06-27 13:55:31 · 449 阅读 · 0 评论 -
LCS算法的C++实现
最长公共子序列LCS的C++实现原创 2015-11-15 15:02:40 · 3518 阅读 · 0 评论 -
出栈序列与卡特兰数
给定一个入栈序列,求出所有可能的出栈序列#include #include #include #include using namespace std;stack stackOut, stackIn;vector> res;int n;int total = 0;vector vec;void out(){ sort(res.begin(), res.end());原创 2016-08-19 20:34:00 · 1043 阅读 · 0 评论