
字符串转整数, Fibonacci数列,合法括号序列判断
发布日期:2021-05-14 17:05:57
浏览次数:15
分类:精选文章
本文共 1898 字,大约阅读时间需要 6 分钟。
题目一:*~字符串转整数
题目描述:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 返回值描述: 如果是合法的数值表达则返回该数字,否则返回0public class Solution { public int StrToInt(String str) { char[] ch=str.toCharArray(); if(str==null||str.isEmpty()){ return 0; } int flg=1; if(ch[0]=='-'){ flg=-1; ch[0]='0'; }else if(ch[0]=='+'){ flg=1; ch[0]='0'; } int sum=0; for(int i=0;i'9'){ sum=0; break; } sum=sum*10+ch[i]-'0'; } return flg*sum; }}
题目二:*~Fibonacci数列
题目描述
Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int f1=0; int f2=1; while(f2
题目三:*~合法括号序列判断
题目描述
给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。
题解:
1.字符串长度不为偶数,直接返回false;
2.字符串长度为偶数,遍历字符串,遇到左括号入栈,遇到右括号,看栈顶元素是否为左括号,如果是左括号,左括号出栈,遍历结束,栈为空,合法字符串; 3.如果遍历到一个非括号,直接返回false;
public class Parenthesis { public boolean chkParenthesis(String A, int n) { if(n%2!=0){ return false; } Stackstack=new Stack<>(); for(char c:A.toCharArray()){ if(c=='('){ stack.push(c); }else if(c==')'){ if(stack.isEmpty()){ return false; }else if(stack.peek()=='('){ stack.pop(); } }else{ return false; } } return stack.isEmpty(); }}
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月29日 22时31分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
文件系统的层次结构
2021-05-14
减少磁盘延迟时间的方法
2021-05-14
vue(渐进式前端框架)
2021-05-14
权值初始化和与损失函数
2021-05-14
案例讨论
2021-05-14
传输层基本功能
2021-05-14
问题的计算复杂度:排序问题
2021-05-14
算法的伪码表示
2021-05-14
递推方程与算法分析
2021-05-14
主定理的应用
2021-05-14
最优装载问题
2021-05-14
最大团问题
2021-05-14
圆排列问题
2021-05-14
课程总结
2021-05-14
认识CMake及应用
2021-05-14
CMake的主体框架
2021-05-14
微积分(三)
2021-05-14
Oracle
2021-05-14
软件工程应用
2021-05-14
数据科学
2021-05-14