刷题专栏(二十七): 找不同

简介: 刷题专栏(二十七): 找不同

前言

刷题专栏到目前已经是第二十七篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天的这道题,《找不同》,是关于字符串的一道题。

如果你要更熟练的使用字符串的诸多特性。

那就一起来看一下这道题的解法吧。image.png

算法题:找不同

根据题目的描述来看,是要在两个字符串中找出不一样的字母。

且两个字符串只会相差一个字符,都是只包含小写字母。

通过这两个重要特征,我们解题的思路就很简单了。

思路有很多种,比如,我们可以通过Set集合来存储,然后一一排除,找到最后就可以找到不同之处。

再比如,char类型的字母是固定的值,我们可以将所有的字母转为整数数值保存,最后进行相减后转换成char值即可达到预期结果。

接下来我们就一起来看一下相关的代码编写吧。

代码展示

本次执行的代码如下,大家可以自行参考一下。

采用的就是关于char字母的整型数字总和相减的方式来处理的。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.findTheDifference("a", "ac"));
    }
    public char findTheDifference(String s, String t) {
        int a = 0, b = 0;
        for (int i = 0; i < s.length(); ++i) {
            a += s.charAt(i);
        }
        for (int i = 0; i < t.length(); ++i) {
            b += t.charAt(i);
        }
        return (char) (b - a);
    }
}

代码执行结果

本次代码执行的效率一般,内存消耗严重,执行用时却没有提升上来。看来这个方法有待提高。

image.png

总结

本题主要就是考察关于char类型字母的使用,和对字符串获取的熟练掌握。大家学会了吗,有问题评论区见。

目录
相关文章
|
1月前
|
存储 编译器 C语言
牛客网刷题笔记小节(二)
牛客网刷题笔记小节(二)
|
5月前
|
搜索推荐 算法 索引
刷题专栏(十九):移动零
刷题专栏(十九):移动零
33 1
|
5月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
117 2
|
7月前
|
Cloud Native 算法 程序员
程序员面试宝典专栏简介
程序员面试宝典专栏简介
37 0
|
12月前
|
前端开发
前端学习笔记202304学习笔记第九天-收获
前端学习笔记202304学习笔记第九天-收获
48 0
|
存储 人工智能 缓存
面试题(二十四)数据结构与算法
9.1哈希 请谈一谈,hashCode() 和equals() 方法的重要性体现在什么地方? 考察点:JAVA哈希表 参考回答: Java中的HashMap使用hashCode()和equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法。如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集合认为是相等的。而且,这两个方法也用来发现重复元素。所以这两个方法的实现对HashMap的精确性和正确性是至关重要的。 请说一说,Java中的HashMap的工作原理是什么? 考察点:JAVA哈希表 参考回答: HashMap是以键值对的形式存储元素的,
61 0
|
存储 算法
数据结构与算法(1)| 青训营笔记
数据结构与算法(1)| 青训营笔记
73 0
数据结构与算法(1)| 青训营笔记
|
缓存 网络协议 安全
前端八股文(未完待续······)
前端八股文(未完待续······)
|
JavaScript 前端开发
牛客前端宝典——刷题 ##Day13
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
140 0
牛客前端宝典——刷题 ##Day13
|
前端开发 JavaScript 程序员
牛客前端宝典——刷题 ##Day3
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
108 0
牛客前端宝典——刷题 ##Day3