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

LeetCode 3461.判断操作后字符串中的数字是否相等 I:简单题简单做的时候到了

【LetMeFly】3461.判断操作后字符串中的数字是否相等 I:简单题简单做的时候到了

力扣题目链接:https://leetcode.cn/problems/check-if-digits-are-equal-in-string-after-operations-i/

给你一个由数字组成的字符串 s 。重复执行以下操作,直到字符串恰好包含 两个 数字:

  • 从第一个数字开始,对于 s 中的每一对连续数字,计算这两个数字的和 模 10。
  • 用计算得到的新数字依次替换 s 的每一个字符,并保持原本的顺序。

如果 s 最后剩下的两个数字 相同 ,返回 true 。否则,返回 false

 

示例 1:

输入: s = "3902"

输出: true

解释:

  • 一开始,s = "3902"
  • 第一次操作:
    • (s[0] + s[1]) % 10 = (3 + 9) % 10 = 2
    • (s[1] + s[2]) % 10 = (9 + 0) % 10 = 9
    • (s[2] + s[3]) % 10 = (0 + 2) % 10 = 2
    • s 变为 "292"
  • 第二次操作:
    • (s[0] + s[1]) % 10 = (2 + 9) % 10 = 1
    • (s[1] + s[2]) % 10 = (9 + 2) % 10 = 1
    • s 变为 "11"
  • 由于 "11" 中的数字相同,输出为 true

示例 2:

输入: s = "34789"

输出: false

解释:

  • 一开始,s = "34789"
  • 第一次操作后,s = "7157"
  • 第二次操作后,s = "862"
  • 第三次操作后,s = "48"
  • 由于 '4' != '8',输出为 false

 

提示:

  • 3 <= s.length <= 100
  • s 仅由数字组成。

解题方法:模拟:等II的时候再使用更低时间复杂度的算法吧

当数组长度大于2时,不断取相邻两个元素求和并对10取模,最终返回剩下的两个元素是否相同。

tips1:若真的使用字符来一直模拟,可以提前算出两个'0'和一个`的ASCII码相等。

tips:也可以使用int8或int数组来存储,不用真的一直字符串操作。

  • 时间复杂度 O ( l e n ( s ) 2 ) O(len(s)^2) O(len(s)2)
  • 空间复杂度 O ( l e n ( s ) ) O(len(s)) O(len(s))

AC代码

C++
/** @LastEditTime: 2025-10-23 23:24:34*/
/*
>>> ord('0')
48
>>> ord('0') * 2
96
>>> chr(96)   
'`'
>>> ord('`')
96
*/
class Solution {
public:bool hasSameDigits(string s) {while (s.size() > 2) {string newS;for (int i = 1; i < s.size(); i++) {// cout << '(' << s[i - 1] << '+' << s[i] << " - '`') % 10 + '0' = " << char((s[i - 1] + s[i] - '`') % 10 + '0') << endl;newS.push_back((s[i - 1] + s[i] - '`') % 10 + '0');}s = move(newS);// cout << s << endl;}return s[0] == s[1];}
};
Python
'''
LastEditTime: 2025-10-23 23:28:23
'''
class Solution:def hasSameDigits(self, s: str) -> bool:a = list(map(lambda c: ord(c) - ord('0'), s))while len(a) > 2:b = [0] * (len(a) - 1)for i in range(len(a) - 1):b[i] = (a[i] + a[i + 1]) % 10a = breturn a[0] == a[1]
Java
/** @LastEditTime: 2025-10-23 23:42:40*/
class Solution {public boolean hasSameDigits(String s) {int[] a = new int[s.length()];for (int i = 0; i < s.length(); i++) {a[i] = (s.charAt(i) - '0');}while (a.length > 2) {int[] b = new int[a.length - 1];for (int i = 0; i < b.length; i++) {b[i] = (a[i] + a[i + 1]) % 10;}a = b;}return a[0] == a[1];}
}
Go
/** @LastEditTime: 2025-10-23 23:32:07*/
package mainfunc hasSameDigits(s string) bool {a := make([]byte, len(s))for i := range s {a[i] = s[i] - '0'}for len(a) > 2 {b := make([]byte,len(a) - 1)for i := range b {b[i] = (a[i] + a[i + 1]) % 10}a = b}return a[0] == a[1]
}
Rust
/** @LastEditTime: 2025-10-23 23:46:40*/
impl Solution {pub fn has_same_digits(s: String) -> bool {let mut a: Vec<u8> = s.chars().map(|c| c.to_digit(10).unwrap() as u8).collect();while a.len() > 2 {let mut b = Vec::with_capacity(a.len() - 1);for i in 0..a.len() - 1 {b.push((a[i] + a[i + 1]) % 10);}a = b;}a[0] == a[1]}
}

End

今天发现CSDN给我发私信说准备把我一些文章变为VIP可见,实在受之有愧,故拒绝之。

突然发现的通知

拒绝之

可能是因为快1024了官方想要再整一些活动吧。

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

http://www.dtcms.com/a/519410.html

相关文章:

  • IPhone 17 Pro Max拍摄专业画质视频教程
  • MoE大模型分布式训练:Switch Transformer与专家并行策略
  • 网站设置评价青岛企业网站建设优化
  • MySQL 增删改查操作与 SQL 执行顺序
  • 静态Web应用与JavaScript:现代前端开发的新范式
  • 按键精灵安卓/iOS脚本辅助,OpenCV实现自动化高效率工具
  • 2510rs,rust,1.90
  • 厦门小微企业网站建设补贴wordpress 评论弹幕
  • Prometheus(二)—— 在K8s集群中部署Prometheus+Grafana+AlertManager实现全方位监控
  • 论文学习_One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery
  • 18.InnoDB 存储引擎(存储结构)
  • ⸢ 玖 ⸥⤳ 威胁感知与响应体系概念及建设思路
  • 芯谷科技--高性能直流有刷电机调速电路GS016
  • Shell脚本切换家庭和随身wifi网络配置
  • 化妆品网站建设方案项目书有区域名和主机怎么做网站
  • String[ ] 和 List<String> 的区别
  • el-table默认排序设置
  • 未来之窗昭和仙君(三十二)通用押金系统——东方仙盟筑基期
  • 【工具分享】对比 MeshCentral VNC 部署 与 Apache Guacamole VNC 部署
  • 废品回收小程序盈利密码:三方共赢模式拆解 + 避坑指南
  • ARM《2》_ARM的GNU汇编语言
  • 02_svm_多分类
  • 全面的 C#/.NET 图表构建解决方案
  • 未发表,三大创新!OCSSA-VMD-Transformer-Adaboost特征提取+编码器+集成学习轴承故障诊断
  • Linux网络HTTP(下)(9)
  • 网站权重值在较长时间内是一定的页面优化怎么做批量的网站检查
  • 从“手动填”到“自动识”:营业执照识别技术革新政务体验
  • ArkUI-X跨平台开发之环境搭建
  • 第六部分:VTK进阶(第170章 MPI 分布式渲染与数据并行)
  • 【GESP】C++四级真题 luogu-B4264 [GESP202503 四级] 二阶矩阵