zoukankan      html  css  js  c++  java
  • 20201218 找不同

    给定两个字符串 s 和 t,它们只包含小写字母。
    
    字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
    
    请找出在 t 中被添加的字母。
    
     
    
    示例 1:
    
    输入:s = "abcd", t = "abcde"
    输出:"e"
    解释:'e' 是那个被添加的字母。
    示例 2:
    
    输入:s = "", t = "y"
    输出:"y"
    示例 3:
    
    输入:s = "a", t = "aa"
    输出:"a"
    示例 4:
    
    输入:s = "ae", t = "aea"
    输出:"a"
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/find-the-difference
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution {
        public char findTheDifference(String s, String t) {
     
        }
    }

    思路 用两个for循环 去对比 找出不同

    class Solution {
        public char findTheDifference(String s, String t) {
            for (int i=0;i<s.length();i++){
                for (int j=0;j<t.length();j++){
                    if (s.charAt(i)==t.charAt(j)){
                      t= t.substring(0,j)+t.substring(j+1,t.length());
                      break;//第一次提交时没写 导致("ae","aea")时将"aea"中2个a都删掉了导致报错
                    }
                }
             }
                return t.charAt(0);  
        }
    }

    这串代码效率肯定很低 用时19ms 内存38.8ms 没有优化思路 看评论发现大佬的解题思路

     public char findTheDifference(String s, String t) {
            int[] cArr = new int[26];
    for (int i = 0; i < s.length(); i++) {
                cArr[s.charAt(i) - 'a']++;
            }
    
            for (int i = 0; i < t.length(); i++) {
                cArr[t.charAt(i) - 'a']--;
            }
    
            for (int i = 0; i < 26; i++) {
                if (cArr[i] == -1) {
                    return (char)('a' + i);
                }
            }
            return 'a';
        }

    代码思路很清晰

    先将变量s的字符串按26字母的顺序存放int[26]中 出现的字符++ 

    变量t出现的字符--

    多出来的那个字符值是-1

    返回即可

    用时3ms

  • 相关阅读:
    驱动程序细节和权衡
    交互
    查找UI元素
    Selenium-Webdriver API命令和操作-Get & Wait
    Selenium的webdriver
    openssl生成ssl证书
    tony_nginx_02_URL重写
    CPA
    消息队列产品比较
    元数据交换绑定的秘密
  • 原文地址:https://www.cnblogs.com/hbhb/p/14153888.html
Copyright © 2011-2022 走看看