![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
陈GX
一只小菜鸡
展开
-
表达式求值的递归与非递归java实现
【问题描述】 给定字符串str,str表示一个数学公式,里面含有运算符加减乘除、数字以及左右括号,返回公式的计算结果,如str="-1+2+3-4*(12-10)",返回-4。一、递归求解假设makevalue方法是一个递归求值过程,str="1+2*(3+4)-5"递归求值过程描述如下:1.从字符串下标0位置开始遍历,如果遍历到’(‘则进入下一层递归;如果遍历到’)'或str遍历完,当前递归调用结束,并向上一递归调用过程返回递归调用结果——遍历结束位置和当前子串计算结果2.如果遍历到运算符,直接从原创 2020-11-02 21:18:37 · 565 阅读 · 1 评论 -
KMP算法通俗易懂版
KMPKMP算法是由Donald Knuth、James H.Morris和于1977年联合发明的,用来处理字符串匹配问题。例如:对给定两个字符串str和substr,长度分别为N和M。如果字符串str中含有子串substr,则返回substr在str中的开始位置,不含有则返回-1。在介绍KMP算法之前,我们先来看普通解法怎么做。最普通的解法是从左到右遍历str的每一个字符,然后看如果以当前字符作为第一个字符出发是否匹配出 substr。比如 str=“ababbbaaabababba”,substr原创 2020-10-26 16:28:11 · 447 阅读 · 0 评论 -
整数字符串转成整数数值
【题目】给定一个字符串str,如果str符合日常书写的整数形式,并且属于32位整数的范围,输出str所代表的整数值,否则输出无效。【示例】str="" : Invalidstr=“123” : 输出123str=“012” : Invalid(不合书写习惯)str=“123a” : Invalidstr=“2147483648” : Invalid(溢出)【解答】原创 2020-10-23 10:28:18 · 1184 阅读 · 2 评论 -
十进制整数转罗马数字
package pack_Chapter1;/* *整数转罗马 * I 1 * V 5 * X 10 * L 50 * C 100 * D 500 * M 1000 */public class program_Design2 { public static String convert(int a) { .原创 2020-10-18 10:40:36 · 280 阅读 · 2 评论 -
在有序但含有空的数组中查找字符串
【题目描述】给定一个字符串数组strs[],在strs中有些位置为null,但在不为null的位置上,其字符串是按照字典顺序由小到大依次出现的。再给定一个字符串str,请返回str在strs中出现的最左的位置。【举例】【解答】为减少算法的复杂度,利用字符串数组有序的这一条件,尽可能多的使用了二分查找,过程如下:1.用变量k记录str在数组strs[l…r]中最左的位置,初始时k=-1,l=0,r=strs.length-1;令mid记录strs[l…r]的中间字符串,则mid=(l+r)/ 2。2原创 2020-10-27 16:01:09 · 287 阅读 · 0 评论