左神
chenxy132
这个作者很懒,什么都没留下…
展开
-
布隆过滤器
题目:不安全网页的黑名单包含有100亿个黑名单网页,每一个网页的URL最多占用64B。现在想要设计一种网络过滤刺痛可以根据网页的URL判断URL是否在黑名单上,请设计该系统。要求:1.该系统允许有万分之一的判断失误率 2使用额外的空间不要超过30GB思路:以下来自左神的算法书。如果把全部的URL存储起来空间是不够的。如果以后遇到网页黑名单系统垃圾邮件过滤系...原创 2019-07-02 11:09:59 · 153 阅读 · 0 评论 -
字符串的调整与替换
题目:思路:这个是先找出左半边元素的总长度和空格的得数,然后计算出替换后的数组的总长度,接着从最后的位置开始进行替换。代码:public class zs2{ public static void main(String[]args){ Scanner sc=new Scanner(System.in); String a=sc.next...原创 2019-08-30 20:14:18 · 339 阅读 · 0 评论 -
判断字符数组中是否所有的字符都只出现过一次
题目:思路:第一种是直接用一个数组组成 的map来统计出现的个数。第二种的思想是先对数组中的元素进行排序,这样相同的元素就会放在一起。重点是使用什么样的排序。对于时间复杂度是o(nlogn)的算法,归并排序需要额外的辅助数组,快速排序额外空间不能达到o(1);希尔排序的时间复杂度不固定,因此选择堆排序。但是一般堆排序是使用递归函数实现的,需要额外的栈空间,下面是左神书中使用的非递归...原创 2019-08-27 16:03:19 · 743 阅读 · 0 评论 -
字符串的统计字符串
题目:思路:这个题的整体思路就是遍历字符串,如果当前字符串和前一个字符串相等,计数就加1;如果不相等就先将之前相等的进行拼接。代码:import java.util.Scanner;/** * Created by Administrator on 2019/8/26. */public class zs2{ public static void main(...原创 2019-08-26 10:40:47 · 136 阅读 · 0 评论 -
替换字符串中连续出现的指定字符串
题目:思路:对str和from字符串一个一个进行匹配,找到from字符串后,将其替换成0,最后输出时,将不为0的字符串拼接起来。代码:import java.util.*;public class zs2 { public static void main(String []args){ Scanner sc=new Scanner(System.in);...原创 2019-08-26 09:53:16 · 272 阅读 · 0 评论 -
判断两个字符串是否为变形词
题目:思路:使用一个长度为256的数组作为map。在字符串1中出现的字符就加1;对于字符串2在相应的字符出减1.当整个数组中出现为负数的时候就代表这两个不是互行词。代码:mport java.io.*;import java.util.*;public class zcy1 { public static void main(String[]args){ ...原创 2019-08-23 15:07:28 · 275 阅读 · 0 评论 -
将整数字符串转成整数值
题目:、思路:这个思路不复杂就是有点麻烦,直接看代码吧。。。代码:import java.util.*;public class zcy1 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); String a=sc.next();//返回处理完的数...原创 2019-08-24 16:26:42 · 478 阅读 · 0 评论 -
判断两个字符串是否为旋转词(KMP算法)
题目:思路:这个题首先需要判断两个字符串的长度,如果长度不相等的话直接返回false.接着创造一个新的字符串b1,是的b1=b+b。接着判断在新的字符串b1中是否包含有字符串a,这里使用的是KMP算法。这个算法我还不太懂。。。。先把左神的相关代码都写在下面。整个算法的时间复杂度是o(n),n是a,b字符串的长度。这个下午清醒了看。。。。。这个还是有点不理解。。。。代码:i...原创 2019-08-24 17:20:52 · 272 阅读 · 0 评论 -
去掉字符中连续出现的k个子串
题目:思路:这个题也是遍历一遍数组,当遇到特殊字符0时进行处理。需要注意的是以下几点:(1)我自己写输入输出的时候要注意,都是用next()。然后再进行转换(2)在取出字符0的时候,直接给相应位置的设置为数字0就可以了。在输出的时候判断以下不是0再输出就可以了代码:import java.io.*;import java.util.*;public class zcy...原创 2019-08-23 16:59:13 · 332 阅读 · 0 评论 -
字符串中数字子串的求和
题目:思路:这个题就是需要直接遍历整个字符串,然后对不同的字符进行处理,特别注意对负号的处理代码:import java.io.*;import java.util.*;public class zcy1 { public static void main(String[]args){ Scanner sc=new Scanner(System.i...原创 2019-08-23 16:18:54 · 506 阅读 · 0 评论 -
海量数据相关
以下基本来自左神的算法书相关题目:1.找到100亿url中最多出现的k个分析:这个只是知道一个大致的思路,先把思路写在这里。在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最高的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。例如,在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载最高的前10首歌等。针对top...原创 2019-07-02 15:25:34 · 197 阅读 · 0 评论 -
最长公共子序列——字节跳动
题目1:对于两个子序列 S1 和 S2,找出它们最长的公共子序列。思路1:以下内容来自大神CYC2008这是一个动态规划的问题定义一个二维数组 dp 用来存储最长公共子序列的长度,其中 dp[i][j] 表示 S1 的前 i 个字符与 S2 的前 j 个字符最长公共子序列的长度。考虑 S1i 与 S2j 值是否相等,分为两种情况:当 S1i==S2j 时,那么就能在 S1 的前 i...原创 2019-07-01 15:25:10 · 400 阅读 · 0 评论 -
最长公共子串问题
题目:给定两个字符串,返回两个字符串的最长公共子串思路:以下是来自左神的思路和代码。使用动态规划的思想。创建一个数组dp,dp[i][j]表示必须以str1[i]和str2[j]这两个字符结尾的最长公共子串的长度。对于第一行的元素即dp[0][j]若满足str2[i]==str1[0]则该值为1,否则该值为0;对以第一列也是如此。对于其他位置,如果str1[i]!=str2[j...原创 2019-07-02 10:16:56 · 545 阅读 · 0 评论