【教3妹学算法-逐日3题(2)】重新分配字符使全部字符串都相当

分享
手机软件开发 2024-9-7 14:06:19 131 0 来自 中国
插: 前些天发现了一个巨牛的人工智能学习网站,普通易懂,风趣幽默,不由得分享一下给各人。点击跳转到网站。
对峙不懈,越积极越荣幸,各人一起学习鸭~~~
1.png 2哥:3妹,题做的怎么样了啊,我游戏都打玩一局了,你做好了没呢。
3妹:不要打搅我,刚做了一题,另有2题呢。
2哥:我打游戏,你在做题,让我都有负罪感了,给我也来一道题吧。
3妹:好吧,你看这道题怎样做?
标题:

给你一个字符串数组 words(下标 从 0 开始 计数)。
在一步利用中,需先选出两个 差别 下标 i 和 j,此中 words 是一个非空字符串,接着将 words 中的 任一 字符移动到 words[j] 中的 任一 位置上。
假如实验恣意步利用可以使 words 中的每个字符串都相当,返回 true ;否则,返回 false 。
示例 1:
输入:words = ["abc","aabc","bc"]
输出:true
表明:将 words[1] 中的第一个 'a' 移动到 words[2] 的最前面。
使 words[1] = "abc" 且 words[2] = "abc" 。
全部字符串都即是 "abc" ,以是返回 true 。
示例 2:
输入:words = ["ab","a"]
输出:false
表明:实验利用无法使全部字符串都相当。
提示:
1 <= words.length <= 100
1 <= words.length <= 100
words 由小写英笔墨母构成
思绪:

统计每个字符出现的频次,用一个int[26]的数组,记载每个字符出现的次数,假如每个字符出现次数为words.length的整数倍的话,则可以匀称分配,否则就不能匀称分配。
java代码1:

class Solution {    public boolean makeEqual(String[] words) {        int[] ch = new int[26];        for (String word : words) {            for (char c : word.toCharArray()) {                ch[c - 'a']++;            }        }        for (int i = 0; i < ch.length; i++) {            if (ch != 0 && ch % words.length != 0) {                return false;            }        }        return true;    }}
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-2-1 20:00, Processed in 0.176801 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表