当前位置: 首页 > article >正文

【力扣】389.找不同

问题描述

 思路解析

  • 只有小写字母,这种设计参数小的,直接桶排序
  • 我最开始的想法是使用两个不同的数组,分别存入他们单个字符转换后的值,然后比较是否相同。也确实通过了

  • 看了题解后,发现可以优化,首先因为t相比于s,是增加了一个字符。那么t的对应的那个单词一定是比s多的。因此可以只用一个字符数组就可以了
  • s中++,t--,只要数组中小于0,代表就是这个数字

代码

class Solution {
    public char findTheDifference(String s, String t) {
        /**
            只含有小写字母,用桶排序,然后对于0~25的数字是否一样,不一样则输出
         */
        
        int len1=s.length();
        int len2=t.length();
        int[] arr1=new int[26];
        int[] arr2=new int[26];

        for(int i=0;i<len1;i++){
            arr1[s.charAt(i)-'a']++;
        }
        for(int j=0;j<len2;j++){
            arr2[t.charAt(j)-'a']++;
        }

        char res;
        for(int i=0;i<26;i++){
            if(arr1[i]!=arr2[i])
                return (char)(i+'a');
        }
        return ' ';
    }
}

优化后代码

 

class Solution {
    public char findTheDifference(String s, String t) {
        /**
            只含有小写字母,用桶排序,然后对于0~25的数字是否一样,不一样则输出
         */
        
        int len1=s.length();
        int len2=t.length();
        int[] arr1=new int[26];


        for(int i=0;i<len1;i++){
            arr1[s.charAt(i)-'a']++;
        }
        for(int j=0;j<len2;j++){
            char ch=t.charAt(j);
            arr1[ch-'a']--;
            if(arr1[ch-'a']<0){
                return ch;
            }
        }
        return ' ';
    }
}


http://www.kler.cn/a/415202.html

相关文章:

  • 微信小程序全局配置:TabBar与页面配置详解
  • Windows 11 搭建 Docker 桌面版详细教程
  • 同时在github和gitee配置密钥
  • JVM:即时编译器,C2 Compiler,堆外内存排查
  • 常见的Web安全漏洞——XSS
  • 初试无监督学习 - K均值聚类算法
  • SLAM算法融合处理多源信息实现定位和姿态估计,并最终完成路径规划、运动控制和避障与动态环境应对
  • 支持多种快充协议的取电芯片,支持最大功率140W
  • Python学习入门教程
  • 路径规划之启发式算法之一:A-Star(A*)算法
  • 第一周周总结
  • 大数据-237 离线数仓 - 广告业务 需求分析 ODS DWD UDF JSON 串解析
  • 深入探索Flax:一个用于构建神经网络的灵活和高效库
  • RBF神经网络预测结合NSGAII多目标优化
  • HTTP(网络)
  • 【LeetCode面试150】——141环形列表
  • milvus 通俗易懂原理
  • JAVA:Spring Boot 实现接口防抖的技术指南
  • shell echo双引号和单引号区别
  • 【数据分析】布朗运动(维纳过程)
  • Java开发中对List<Map<String, Object>>集合去重并按大小拆分子列表
  • 【C/C++】内存管理详解:从new/delete到智能指针的全面解析
  • Leecode刷题C语言之单调数组对的数目②
  • scrapy豆瓣爬虫
  • 数据库原理-期末重要概念总结
  • 【亚马逊云科技】使用Amazon Lightsail搭建nginx服务