美文网首页
要成功就做一百题-97

要成功就做一百题-97

作者: 西5d | 来源:发表于2020-04-14 18:11 被阅读0次

题目名称

今天来一个简单题目试试水,好久没发了。 一来遇到个复杂题,一时没解,二来最近实在有点忙。废话不多,开始正题。
题目名称为找两个字符串的不同

描述

给定两个字符串 s , t , 其中t的字符比s多一个,方法返回多余的这个字符。比如:

s = aaaab
t = aaaabb
结果返回b

解题思路

这里先限定了t比s只多一个字符,首先想到的是转成列表,依次遍历,将s包含在t中的元素排除,最终剩下一个t中的字符就是结果。如下的解法1,实现很粗暴。

还有一种方法。t中只比s多一个字符,而字符可以表示成整数,所以找不同就可以算t的字符和减去s的字符和,得到的值就是不同的字符,如下解法2.

代码

//1 列表

public char stringDiff(String s, String t){
    ArrayList<Character> listA = new ArrayList<>();
            ArrayList<Character> listB = new ArrayList<>();
            for (int i = 0; i < s.length(); i++) {
                listA.add(s.charAt(i));
                listB.add(t.charAt(i));
            }
            listB.add(t.charAt(s.length()));
            for (int i = 0; i < listA.size(); i++) {
                if (listB.contains(listA.get(i))) {
                    listB.remove(listA.get(i));
                }
            }
            return listB.get(0);
}

//2 字符和之差
public char stringAddition2(String s, String t) {
        int sumS = 0;
        int sumB = 0;
        for (int i = 0; i < s.length(); i++) {
            sumS = s.charAt(i) + sumS;
            sumB = t.charAt(i) + sumB;
        }
        sumB = sumB + t.charAt(s.length());
        return (char) (sumB - sumS);
    }

总结

对于算法实现来说比较严格,不同算法的效率差别很多,但如果面向实际业务,可能最终结果更重要,实现的重要性退居其次。然而当数据量激增之后,高效率的算法还是必不可少的,日常中还是要严格要求,充分考虑可能的边界情况,才是合格的做法。

相关文章

  • 要成功就做一百题-97

    题目名称 今天来一个简单题目试试水,好久没发了。 一来遇到个复杂题,一时没解,二来最近实在有点忙。废话不多,开始正...

  • 要成功就做一百题-90

    题目名称 第十三题 罗马数字转整数 描述 解题思路 这里做了个找规律,先把所有字符加起来,再处理特殊情况,题目说了...

  • 要成功就做一百题-89

    题目名称 实现字符串函数strStr() ,第28题 描述 解题思路 目的是找出某个字符串在另一个字符串的起始位置...

  • 要成功就做一百题-92

    题目名称 括号生成 描述 难度属于中等,目的是根据给定的括号数,生成有效的括号集合。 解题思路 这题比较有意思,这...

  • 要成功就做一百题-93

    题目名称 有效的括号判断 描述 输入的字符串只包含{ [] } ()三种括号的组合,判断输入是否是有效的括号,如下...

  • 要成功就做一百题-91

    题目名称 矩阵置零 描述 难度属于中等,如下是题目的描述,leetcode 73题。 解题思路 这里我也没用其他复...

  • 要成功就做一百题-99

    题目名称 爬楼梯问题,斐波拉契数列,泰波拉契数列 描述 第一个是常见的题目,第二个斐波拉契,第三个是斐波拉契的变种...

  • 要成功就做一百题-98

    题目名称 二叉树的中序遍历 描述 给定一个先序遍历的二叉树,打印出其中序(中根)遍历的结构。 解题思路 首先是根据...

  • 要成功就做一百题-100

    题目有点唬人,当然要的就是这个效果,标题党一把。从现在开始做100道leetcode题目,为了起到比较好的督促作用...

  • 要成功就做一百题-95

    题目名称 已经排序的数组,必须在O(logn)的复杂度下统计得到指定元素的重复次数。 描述 比如数组[1,1,2,...

网友评论

      本文标题:要成功就做一百题-97

      本文链接:https://www.haomeiwen.com/subject/xqatvhtx.html