随笔分类 -  acm

最长回文子串
摘要:问题描述: 给出一个字符串S,求S的最长回文字串的长度。 样例: 输入:abc1234321ab 输出:7 阅读全文

posted @ 2019-03-16 11:48 在路上-j 阅读(120) 评论(0) 推荐(0)

被3整除的子序列
摘要:题目描述: 给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除,答案对1e9+7取模; 输入描述: 输入一个字符串,由数字构成,长度小于等于50; 输出描述:输出一个整数; 样例1: 输入:132 输出:3 样例2: 输入:123456 输出:23 样例3: 输入:333 输出:7 阅读全文

posted @ 2019-03-15 20:42 在路上-j 阅读(324) 评论(0) 推荐(0)

java String详解
摘要:创建字符串: 1. String(char a[]) 2. String(char a[],int offset,int length) 3. 通过字符串常量的引用赋值给一个字符串变量: str1和str2共用一个"good"内存空间。 连接多个字符串 换行输出: 获取字符串信息 获取字符串长度 字 阅读全文

posted @ 2019-01-31 19:31 在路上-j 阅读(183) 评论(0) 推荐(0)

拓扑排序
摘要:kahn算法: 1. 在有向图中选一个入度为零的点,并输出 2. 从图中删除所有与该点相关的边 3. 重复上述两步,直至所有顶点输出,或者当前图中不存在无前驱的顶点为止,后者代表我们的有向图是有环的,因此,也可以通过拓扑排序来判断一个图是否有环。 深度优先搜索: 阅读全文

posted @ 2018-07-14 16:06 在路上-j 阅读(150) 评论(0) 推荐(0)

LeetCode 767. Reorganize String
摘要:Given a string S, check if the letters can be rearranged so that two characters that are adjacent to each other are not the same. If possible, output 阅读全文

posted @ 2018-03-26 20:56 在路上-j 阅读(232) 评论(0) 推荐(0)

LeetCode 343. Integer Break
摘要:纯数学做法: x1+x2+...+xn ≥ n sqrt_{n}(x1*x2...*xn),当且仅当 x1=x2=..=xn时等号成立。 所以为了取到最大值,我们要尽量拆分成几个相等的值。 之后的问题便是,要拆分成几个呢? 假设拆分成n个实数,那么设每一个数为x,则一共有n/x个数。 设它们的积为f 阅读全文

posted @ 2018-03-25 14:51 在路上-j 阅读(100) 评论(0) 推荐(0)

大整数乘法
摘要:昨天经历了华为2018笔试的都应该记得这道题吧。 输入两个大整数,输出两数乘积。 在此,先介绍python写法,因为python支持的大整数是无限位数的。 JAVA常用类库也有一个支持大整数的类:BigInteger 那么问题来了,如果你这两种都不知道怎么呢?那就只能用Strign类型按位运算了。 阅读全文

posted @ 2018-03-22 16:36 在路上-j 阅读(164) 评论(0) 推荐(0)

LeetCodee 105. Construct Binary Tree from Preorder and Inorder Traversal
摘要:问题重述: 问题求解: 我们换一组比较有代表性的样例, 阅读全文

posted @ 2018-03-19 13:46 在路上-j 阅读(195) 评论(0) 推荐(0)

Kadane算法
摘要:Kadane算法用于解决连续子数组最大和问题,我们用ci来表示数组a[0...i]的最大和。 观察可以发现当ci-1 < 0时,ci = ai。用e表示以当前为结束的子数组的最大和,以替代数组c;那么: e = max(e,e+ai)。 阅读全文

posted @ 2018-03-10 16:24 在路上-j 阅读(446) 评论(0) 推荐(0)

KMP初探
摘要:最近在做字符串匹配,沉迷于indexof无法自拔,但是考虑到大数据处理的时间复杂度,决定研究一波KMP。 在这我就不讲什么原理了,转自: https://www.cnblogs.com/zhangtianq/p/5839909.html 阅读全文

posted @ 2018-02-01 17:24 在路上-j 阅读(170) 评论(0) 推荐(0)

基于java的简易计算器实现
摘要:方法: 1.将string类型的表达式输入转换成后缀表达式 2.计算后缀表达式 步骤一:将string类型的表达式输入转换成后缀表达式 输入字符串表达式,并将表达式转换成char型数组 后缀表达式实现 1. 遇到”(“时进栈 2. 遇到数字,将数字加入back字符串后面 3. 遇到”+“、”-“、” 阅读全文

posted @ 2018-01-31 11:57 在路上-j 阅读(995) 评论(0) 推荐(0)