(65)整数的各位积和之差(66)统计一致字符串的数目

2024-03-24 21:44

本文主要是介绍(65)整数的各位积和之差(66)统计一致字符串的数目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 每日一言
  • 2. 题目(65)整数的各位积和之差
  • 3. 解题思路
  • 4. 代码
  • 5. 题目(66)统计一致字符串的数目
  • 6. 解题思路
  • 7. 代码
  • 8. 结语


1. 每日一言

无论你对此生的决定为何,一定要真诚地对待自己。 —《卧虎藏龙》-


2. 题目(65)整数的各位积和之差

题目链接:整数的各位积和之差

给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。

  • 示例 1:
    输入:n = 234
    输出:15
    解释:
    各位数之积 = 2 * 3 * 4 = 24
    各位数之和 = 2 + 3 + 4 = 9
    结果 = 24 - 9 = 15

  • 示例 2:
    输入:n = 4421
    输出:21
    解释:
    各位数之积 = 4 * 4 * 2 * 1 = 32
    各位数之和 = 4 + 4 + 2 + 1 = 11
    结果 = 32 - 11 = 21

提示:
1 <= n <= 10^5


3. 解题思路

  1. 首先定义了两个变量 sum 和 sum1,分别用于存储各位数字之和和各位数字之积。

  2. 然后通过一个循环对输入的整数 n 进行处理,每次迭代中,取 n 的个位数字,分别将其累加到 sum 中,并乘到 sum1 中,然后将 n 除以 10,以便在下一次循环中处理下一位数字。

  3. 最终,返回 sum1 - sum,即为各位数字之积与各位数字之和的差值。

4. 代码

int subtractProductAndSum(int n){int sum = 0;//各位数字之和int sum1 = 1;//各位数字之积while(n) {sum += n%10;sum1 *= n%10;n/=10;}return sum1-sum;
}

5. 题目(66)统计一致字符串的数目

题目链接:统计一致字符串的数目

给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。

请你返回 words 数组中 一致字符串 的数目。

  • 示例 1:
    输入:allowed = “ab”, words = [“ad”,“bd”,“aaab”,“baa”,“badab”]
    输出:2
    解释:字符串 “aaab” 和 “baa” 都是一致字符串,因为它们只包含字符 ‘a’ 和 ‘b’ 。

  • 示例 2:
    输入:allowed = “abc”, words = [“a”,“b”,“c”,“ab”,“ac”,“bc”,“abc”]
    输出:7
    解释:所有字符串都是一致的。

  • 示例 3:
    输入:allowed = “cad”, words = [“cc”,“acd”,“b”,“ba”,“bac”,“bad”,“ac”,“d”]
    输出:4
    解释:字符串 “cc”,“acd”,“ac” 和 “d” 是一致字符串。

提示:
1 <= words.length <= 104
1 <= allowed.length <= 26
1 <= words[i].length <= 10
allowed 中的字符 互不相同 。
words[i] 和 allowed 只包含小写英文字母。


6. 解题思路

总的思路就是通过两层循环遍历allowed和words,利用一个辅助数组记录allowed中的字符出现情况,然后逐个判断每个字符串是否满足要求。最后统计满足要求的字符串的数量并返回。

  1. 首先,定义一个长度为26的整型数组hash1,用来记录allowed中的字符是否出现。

  2. 然后,通过遍历allowed字符串,将其中出现的字符的对应数组元素设为1。

  3. 接下来,通过两层循环遍历words字符串数组。对于每个字符串,它会遍历字符串的每个字符,并通过hash1数组判断字符是否在allowed中出现。如果有任何一个字符不在allowed中出现,那么flg变量就会被设为0,表示该字符串不满足要求。

  4. 内层循环结束后如果 flg 为1,说明该单词中的所有字符都在允许的字符集合中,则将 sum 自增1。

  5. 最后返回sum作为结果。

7. 代码

int countConsistentStrings(char * allowed, char ** words, int wordsSize){int hash1[26] = { 0 };int sum = 0;for(int i = 0; i < strlen(allowed); i++) {if(hash1[allowed[i] - 'a'] == 0) {hash1[allowed[i] - 'a'] = 1;}}for(int i = 0; i < wordsSize; i++) {int flg = 1;for(int j = 0; j < strlen(words[i]); j++) { if(hash1[words[i][j] - 'a'] == 0) {flg = 0;break;}}if(1 == flg) {sum++;}}return sum;}

8. 结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


这篇关于(65)整数的各位积和之差(66)统计一致字符串的数目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842882

相关文章

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示