内容简介:称一个字符串中,互换第奇数位(或偶数位)形成的新单词与原单词为特殊相等。给定一个字符串数组
D46 893. Groups of Special-Equivalent Strings
题目链接
893. Groups of Special-Equivalent Strings
题目分析
称一个字符串中,互换第奇数位(或偶数位)形成的新单词与原单词为特殊相等。
给定一个字符串数组 A
,计算该数组中有多少个独立的特殊相等词。
例如,单词 abcd
和 cbad
为特殊相等词。也与 adcb
和 cdab
特殊相等。
思路
先把字符串分割成数组,把第偶数个字符和第奇数个字符分别存放。
再对偶数字符数组和奇数字符数组进行排序。
接下来用分隔符拼接这两个数组。使得对任何一个特殊相等的词都有同一个值。把拼接后的字符串作为键存入数组中。(作为值存进去的话需要去重)
计算数组中的元素个数即可。
最终代码
<?php
class Solution {
function numSpecialEquivGroups($A) {
$words = [];
foreach($A as $b){
$odd = $even = [];
$chars = str_split($b);
foreach($chars as $key=>$char){
if($key%2==0){
$odd[] = $char;
}
else{
$even[] = $char;
}
}
sort($odd);
sort($even);
$words[implode('',$odd).'/'.implode('',$even)] = true;
}
return count($words);
}
}
若觉得本文章对你有用,欢迎用[爱发电](https://afdian.net/@skys215)资助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
奇点系列
彼得•蒂尔、里德•霍夫曼、本•霍洛维茨、埃里克•杰克逊等 / 高玉芳、路蒙佳、杨晓红、徐彬等 / 中信出版社 / 2015-6-20 / 182.00
1.硅谷创投教父、PayPal创始人彼得•蒂尔、LinkedIn创始人里德•霍夫曼、创业导师本•霍洛维茨、“PayPal黑帮”初创成员埃里克•杰克逊联合作品。 2.彼得•蒂尔与埃隆•马斯克的首次交锋,PayPal从0到1改变全球金融的生死突围,商业硬汉的创业史诗,揭秘“PayPal黑帮”的创业维艰与联盟关系。 3.《人民日报》推荐创业者必读书目!“奇点系列”的作者们以及“PayPal黑......一起来看看 《奇点系列》 这本书的介绍吧!