2019-07-19

LeetCode第七题整数反转:

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

注意:1.由于存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。如果反转后整数溢出那么就返回 0!

            2.如果int类型溢出,其返回的值是int取值范围内的值。

            3.010和10是不一样的,输出会自动消掉010中的一个变成数字10哟

第十三题:罗马转整数

我选的方法是先将存在罗马符号代表的数字一起算出来后,再通过for循环找出IV等字符进行有规律的减改。

代码如下:class Solution {

    public int romanToInt(String s) {

        int a=s.length();

        int back=0;

   while(a-1>=0) {

    if(s.substring(a-1,a).equals("I")) {back++; a--;continue ;}

   if(s.substring(a-1,a).equals("V")) {back+=5; a--;continue ;}

   if(s.substring(a-1,a).equals("X")) {back+=10; a--;continue ;}

   if(s.substring(a-1,a).equals("L")) {back+=50; a--;continue ;}

  if(s.substring(a-1,a).equals("C")) {back+=100; a--;continue ;}

  if(s.substring(a-1,a).equals("D")) {back+=500; a--;continue ;}

 if(s.substring(a-1,a).equals("M")) {back+=1000; a--;continue ;}

   System.out.println(a);   }

      for(int i=1;i<s.length();i++) {

 if(s.substring(i-1,i+1).equals("IV"))back-=2;

 if(s.substring(i-1,i+1).equals("IX"))back-=2;

 if(s.substring(i-1,i+1).equals("XL"))back-=20;

 if(s.substring(i-1,i+1).equals("XC"))back-=20;

 if(s.substring(i-1,i+1).equals("CD"))back-=200;

 if(s.substring(i-1,i+1).equals("CM"))back-=200; }

return back;

这道题虽然是属于简单难度的题目,但是可以给我一个更好的锻炼机会,让我学会了通过寻找规律,再去写算法。

第十四题(必做!!!!)

str.length和str[].length()的区别是第一个是有多少个字符串,第二个是第几个字符串的长度。

java程序运行是出现错误提示示:java.lang.ArrayIndexOutOfBoundsException: 0是什么原因?

java.lang.ArrayIndexOutOfBoundsException: 0

数组下标连0都越界了,唯一的原因是数组的维数为0

有两类数组初始化语句会导致这种情况发生

int[] a=new int[0];

int[] a={};

如果你的程序以前正常,现在变得不正常了,就只有一种情况了,那就是使用了int变量初始化数组,如

int[] a=new int[i];

这个i是一个变量,当i>0程序正常;当i等于零时并试图去访问a[0]就会出现你看到的异常

简单解法:

解法一:利用字典序

利用字符串排序时的字典序规则。

排序后,最小字符串和最大字符串的公共前缀即是所有字符串的公共前缀。

解法二:水平扫描

具体如下:

让公共前缀初始化为第一个字符串。

然后不断的向后迭代,不断地缩减公共前缀 prefix 的长度。

解法三:垂直扫描

垂直扫描上述思路略有不同,垂直扫描比较的是每个字符串相同位置的字符是否相同。

从第一个位置开始迭代,一旦发现有任何一个字符串在当前位置的字符与其他的不同,那么此位置就是最大前缀的边界点。

共有六种比较简单的解法:https://blog.csdn.net/LetJava/article/details/96477505

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,391评论 0 2
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,424评论 0 10
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,877评论 0 38
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,439评论 1 42
  • 分享体会特别深刻的两点吧,一个是把孩子培养成为一个有能力的人,所必须的七项重要的感知力和技能,一对个人能力的感知之...
    三瀛堂阅读 99评论 0 0