易网时代-编程资源站
Welcome
首页
/
软件开发
/
数据结构与算法
Lanczos算法概述
2016-07-27
26
Lanczos算法概述2015-10-24Lanczos Algorithm:Lanczos算法就是被设计用来做特征分解的,和其他类似的算法一样,获得的奇异向量都是很接近的(这里的翻译可能不对,immediate翻译为很快?和其他类似算法一样,获得奇异向量很快?这样翻译?)。矩阵A的奇异向量就是A^t * A 或者 A * A^t的特征向量。(这里A^t应该是矩阵A的转置么?特征向量应该是只有N*N的矩阵才有的,只有A的转置乘以A才能达到矩阵A是一个N*N...
不用加减乘除做加法的算法
2016-07-27
26
不用加减乘除做加法的算法2015-10-24题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包含多个测试样例。对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。输出:对应每个测试案例,输出m+n的值。样例输入:3 47 9样例输出:716思路:1、先将各bit位相加,不计进位,这一步可以用m^n实现2、加上进位,进位如何来,用m&n可以得到m和n中都为1的bi...
求1+2+...+n的算法
2016-07-27
23
求1+2+...+n的算法2015-10-24题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。输入:输入可能包含多个测试样例。对于每个测试案例,输入为一个整数n(1<= n<=100000)。输出:对应每个测试案例,输出1+2+3+…+n的值。样例输入:35样例输出:615这道题目确实很无聊,试着用java语言,构造方法来写,最...
如何实现快速排序算法
2016-07-27
22
如何实现快速排序算法2015-10-24快速排序:代码:<?php/** 快速排序算法 * 1. 在数组中找一个元素作为key,一般取数组第一个元素作为key * 2. i=0, j=数组长度-1 * 3. j-- 当 arr[j]<key, arr[i]与arr[j]交换位置 * 4. i++ 当 arr[i]>key, arr[i]与arr[j]交换位置 * 5. 重复3,4 直到 i==j 时,完成。 * 6. 将key分隔的左右两...
约瑟夫环的问题
2016-07-27
25
约瑟夫环的问题2015-10-26题目描述:每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为JOBDU的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为1的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续1...m报数....这样下去....直到剩下最后一个小朋...
如何数组中只出现一次的数字
2016-07-27
25
如何数组中只出现一次的数字2015-10-26题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入每个测试案例包括两行第一行包含一个整数n,表示数组大小。2<=n <= 10^6。第二行包含n个整数,表示数组元素,元素均为int。输出对应每个测试案例,输出数组中只出现一次的两个数。输出的数字从小到大的顺序。样例输入:82 4 3 6 3 2 5 5样例输出:4 6思路:上篇博文中已经了解到异或...
如何求扑克牌的顺子
2016-07-27
26
如何求扑克牌的顺子2015-10-26题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大小 王可以看成任何数字,并且A看作1,...
求和为定值的连续正数序列
2016-07-27
25
求和为定值的连续正数序列2015-10-26题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输入:输入有多组数据。每组数据仅包括1个整数S(S<=1...
编程算法之硬币问题 代码(C)
2016-07-27
21
编程算法之硬币问题 代码(C)2015-10-28题目: 有1, 5, 10, 50, 100, 500元硬币各若干枚, 现在要用这些硬币来支付A元, 最少需要多少枚硬币?假定本题至少存在一种支付方案.使用贪心算法, 优先选用最大的硬币, 并不断的调整硬币的数量.代码:/** main.cpp**Created on: 2014.7.17*Author: spike*//*eclipse cdt, gcc 4.8.1*/#include <stdio...
部分和问题算法 代码(C)
2016-07-27
25
部分和问题算法 代码(C)2015-10-28题目: 给定整数a1, a2, ..., an, 判断是否可以从中选出若干数, 使它们的和恰好为k.解法很多, 最简单的解法是使用深度优先搜索, 时间复杂度O(2^n), 不是最优解法.代码:/** main.cpp**Created on: 2014.7.13* *Author: Spike*//*eclipse cdt, gcc 4.8.1*/#include <stdio.h>bool dfs...
水洼的数量算法 代码(C)
2016-07-27
25
水洼的数量算法 代码(C)2015-10-28题目: 有一个大小为N*M的园子, 雨后起了积水. 八连通的积水被认为是连接在一起的. 请求出园子里总共有多少水洼.使用深度优先搜索(DFS), 在某一处水洼, 从8个方向查找, 直到找到所有连通的积水. 再次指定下一个水洼, 直到没有水洼为止.则所有的深度优先搜索的次数, 就是水洼数. 时间复杂度O(8*M*N)=O(M*N).代码:/** main.cpp**Created on: 2014.7.12* *...
迷宫的最短路径算法 代码(C++)
2016-07-27
23
迷宫的最短路径算法 代码(C++)2015-10-28题目: 给定一个大小为N*M的迷宫. 迷宫由通道和墙壁组成, 每一步可以向邻接的上下左右四格的通道移动.请求出从起点到终点所需的最小步数. 请注意, 本题假定从起点一定可以移动到终点.使用宽度优先搜索算法(DFS), 依次遍历迷宫的四个方向, 当有可以走且未走过的方向时, 移动并且步数加一.时间复杂度取决于迷宫的状态数, O(4*M*N)=O(M*N).代码:/** main.cpp**Created ...
如何左旋转字符串
2016-07-27
23
如何左旋转字符串2015-10-30题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!输入:多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度...
如何求二叉树深度
2016-07-27
25
如何求二叉树深度2015-10-30题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。输入:第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n <= 10。接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。输出:输出一个整型,表示树的深度。样例输入:32 3-1 -1...
如何翻转单词顺序
2016-07-27
23
如何翻转单词顺序2015-10-30题目描述:JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他...
求数字在排序数组中出现的次数
2016-07-27
23
求数字在排序数组中出现的次数2015-10-30题目描述:统计一个数字在排序数组中出现的次数。输入:每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1<=n <= 10^6。第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1<=m<=10^3。下面有m行,每行有一个整数k,表示要查询的数。输出:对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。样例输入:81...
<<
251
252
253
254
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图