算法
回老家了看看你
这个作者很懒,什么都没留下…
展开
-
消除字符串中相邻的相同字符-Java
题目描述给定一个字符串,从左到右扫描,如存在两个或两个以上的相同字符靠在一起,则消除这些字符。对每次消除后剩下的字符串,继续应用上述规则,直到不能消除为止。输入任意字符串输出消除后的字符串样例输入abccbd输出ad输入snggnnqp输出sqp代码算法描述:准备一个栈A,将数据存入栈A之前,比较当前数据和栈顶元素是否相等,相等则将数据出栈,并且将出栈数据存到另一个栈B中,标记当前顺序;如果不等,则比较当前数据是否与另一个栈B顶的元素是否相等,是否有标记,相等则不入栈,不等,原创 2020-05-20 15:12:01 · 4888 阅读 · 0 评论 -
字符串的排列数-Java
题目描述给定一个只包含大写英文字母的字符串S,要求你给出对S重新排列的所有不相同的排列数。如:S为ABA,则不同的排列有ABA,AAB,BBA三种。输入输入一个长度不超过10的字符串S,我们确保都是大写的。输出输出S重新排列的所有不相同的排列数(包含自己本身)。样例输入样例1ABA输出样例13输入样例2ABCDEFGHHA输出样例2907200代码算法思想:递归构造。import java.util.Arrays;import java.util.HashSet;imp原创 2020-05-19 14:34:59 · 1783 阅读 · 0 评论 -
位图法处理大数据-Java
问题给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数?算法可以使用位图法,位图法的主要思想是:一个int类型占4个字节,一个字节8个bit,那么如果用每一个bit代表一个数是否存在的话,那么可以代表4*8=32bit。可以表示0-31范围的数字。bit[32]的空间比int[32]要小的多。另外一种用法是结合hash函数,这样0-31就不止32个数了。例如原创 2020-05-13 13:18:46 · 308 阅读 · 0 评论 -
最长公共连续子串-Java
题目描述我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度。输入描述:输入为两行字符...原创 2020-03-29 15:17:17 · 957 阅读 · 0 评论 -
N皇后问题-Java
问题描述在棋盘上放置n个皇后,使得她们互不攻击,此时每个皇后的攻击范围为同行同列和同对角线,要求找出所有解。输入8输出92代码一import java.util.ArrayList;import java.util.Scanner;public class Main { static int n, result = 0; static ArrayList<Inte...原创 2020-03-14 17:34:25 · 175 阅读 · 0 评论 -
被3整除的子序列-Java
题目描述给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除答案对1e9+7取模输入描述:输入一个字符串,由数字构成,长度小于等于50输出描述:输出一个整数示例1输入132输出3示例2输入9输出1示例3输入333输出7示例4输入123456输出23示例5输入00输出3备注:n为长度子任务1:...原创 2020-03-19 16:59:59 · 1152 阅读 · 0 评论