嚯 第一次做力扣的每日一题

题目

https://leetcode-cn.com/problems/find-the-difference/

方法一:计数

时间复杂度:O(N),其中 N 为字符串的长度。
空间复杂度:O(1)。固定数量26的数组。

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

方法二:ASCII

对s中的字符求和,对t中的字符求和,他们的差就是结果。

class Solution {public char findTheDifference(String s, String t) {int as = 0, at = 0;for (int i = 0; i < s.length(); ++i) {as += s.charAt(i);}for (int i = 0; i < t.length(); ++i) {at += t.charAt(i);}return (char) (at - as);}
}

时间复杂度:O(N)
空间复杂度:O(1)

方法三:位运算

如果将两个字符串拼接成一个字符串,则问题转换成求字符串中出现奇数次的字符。类似于「136. 只出现一次的数字」,我们使用位运算的技巧解决本题。

class Solution {public char findTheDifference(String s, String t) {int ret = 0;for (int i = 0; i < s.length(); ++i) {ret ^= s.charAt(i);}for (int i = 0; i < t.length(); ++i) {ret ^= t.charAt(i);}return (char) ret;}
}

时间复杂度:O(N)
空间复杂度:O(1)

每日一题 20.12.18 LeetCode 389. 找不同java题解相关推荐

  1. 每日一题4.12.1

    每日一题4.12.1 年会抽奖 ** 参考答案:**

  2. 【寒假每日一题】分巧克力(个人练习)详细题解+推导证明(第八天)附带转载程序员壁纸

    文章目录 前言 题目 详细题解 写法1 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 话说今天开始准备搞一个秋招的GitHub,算是复习一遍了. 今天还是寒假每日一 ...

  3. 【Leetcode -389.找不同 -392.判断子序列】

    Leetcode Leetcode -389.找不同 Leetcode -392.判断子序列 Leetcode -389.找不同 题目:给定两个字符串 s 和 t ,它们只包含小写字母. 字符串 t ...

  4. 【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)

    文章目录 题目描述 思路 && 代码 DFS 动态规划 新系列-用于区分开高频题和每日一题- 题目描述 一眼二分,但是实际上并不是 这题让我想到社团的猜数字游戏-但是给钱是真过分了= ...

  5. 数学——每日一题11 1.18 反函数求导

    2021考研数学每日一题1.18_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av84005688

  6. 北妈每日一题:JS从无序乱码找我要的数字!

    点击上方"前端你别闹",关注并星标 喜欢我的都关注我了 北妈每日一题 我需要整齐排列 问题1:有这样一串杂乱无章的数据: [dahsidoai 213907;a oas198jdo ...

  7. 【寒假每日一题】剪绳子(个人练习)详细题解+推导证明(第六天)

    文章目录 前言 题目 详细题解 写法1 O(nlogn)O(nlogn)O(nlogn) 推导证明 举一反三 总结 前言 今天终于出核酸检测的结果,还好大家都没事,不然怕是要封城了!!! 今天还是寒假 ...

  8. 【寒假每日一题】数字三角形(个人练习)详细题解+推导证明(第二天)

    文章目录 前言 题目 详细题解 写法1 O ( n 2 ) O(n^2) O(n2) 推导证明 写法2 O ( n 2 ) O(n^2) O(n2) 推导证明 举一反三 总结 前言 昨天真是人生中奇葩 ...

  9. Java实现 LeetCode 389 找不同

    389. 找不同 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 示例: 输入: s = " ...

最新文章

  1. SQL INNER JOIN LEFT JOIN RIGHT JOIN 笛卡尔积
  2. 【深度学习】利用一些API进行图像数据增广
  3. 编译错误 fatal error C1010: unexpected end of file while looking for precompiled header directive
  4. 使用SAP云平台Portal service的前置条件
  5. SalesArea F4 help
  6. Swift中文教程(十八) 类型检查
  7. 12个超好用的IntelliJ IDEA 插件!你用过几个?
  8. android禁止电话功能,#Android# 启用“阻止模式”功能,避免半夜电话骚扰!
  9. [个人管理]学习超级搜索术知识点总结
  10. 又一个微信聊天机器人横空出世了,人人可用
  11. 玲珑3D与几何画板的比较
  12. RK987蓝牙机械键盘win和alt键互换
  13. 前端处理 token 时效性问题
  14. ArcGIS地理要素数据获取及地图制作
  15. linux 共享内存 出错,共享内存的std :: string给出了分段错误(linux)
  16. 基于图像的光照(Image-Based Lighting, IBL)概述
  17. 单、多分支结构的应用(有点复杂)
  18. 系统优化与lvs详解配置、haproxy
  19. 计算机硬件型号,怎样检测电脑硬件型号
  20. mysql中1146提示_Mysql数据库的使用总结之ERROR 1146 (42S02)

热门文章

  1. DataTable参数详解
  2. 我们的成功源自于不懈地帮助客户提高生产力
  3. 全闪存行业调研报告 - 市场现状分析与发展前景预测
  4. vr是什么软件? VR全景怎么拍摄?
  5. Linux下几种RTP协议实现的比较和JRTPLIB编程讲解
  6. 迅为RK3568开发板Ubuntu系统编写运行Qt工程
  7. STL源码剖析—学习记录
  8. Verilog 实现 VGA 接口时序
  9. Windows 2000 ADS WEB安全配置教程
  10. State(状态模式)行为型