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

网站开发学那个语言比较好ps可以在哪个网站上做兼职

网站开发学那个语言比较好,ps可以在哪个网站上做兼职,建站行业的乱象,南宁小程序建设其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1操作 1 的本质#xff1a;字符可以任意排列 2.2操作 2 的本质#xff1a;出现次数是可以交换的 2.… 其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1操作 1 的本质字符可以任意排列 2.2操作 2 的本质出现次数是可以交换的 2.3算法思路 三、代码 四、总结 前言 这是力扣的1657题难度为中等解题方案有很多种本文讲解我认为最奇妙的一种。 一、题目描述 如果可以使用以下操作从一个字符串得到另一个字符串则认为两个字符串 接近  操作 1交换任意两个 现有 字符。 例如abcde - aecdb操作 2将一个 现有 字符的每次出现转换为另一个 现有 字符并对另一个字符执行相同的操作。 例如aacabb - bbcbaa所有 a 转化为 b 而所有的 b 转换为 a  你可以根据需要对任意一个字符串多次使用这两种操作。 给你两个字符串word1 和 word2 。如果 word1 和 word2 接近 就返回 true 否则返回 false 。 示例 1 输入word1 abc, word2 bca 输出true 解释2 次操作从 word1 获得 word2 。 执行操作 1abc - acb 执行操作 1acb - bca示例 2 输入word1 a, word2 aa 输出false 解释不管执行多少次操作都无法从 word1 得到 word2 反之亦然。 示例 3 输入word1 cabbba, word2 abbccc 输出true 解释3 次操作从 word1 获得 word2 。 执行操作 1cabbba - caabbb 执行操作 2caabbb - baaccc 执行操作 2baaccc - abbccc示例 4 输入word1 cabbba, word2 aabbss 输出false 解释不管执行多少次操作都无法从 word1 得到 word2 反之亦然。提示 1 word1.length, word2.length 105word1 和 word2 仅包含小写英文字母 二、题解 本题的关键就是看清楚两个操作的本质 2.1操作 1 的本质字符可以任意排列 我们可以随意洗牌。 例如示例1的word1 abc, word2 bca (把一叠扑克洗成另一叠扑克。 如果字符一样但对应的出现次数不一样呢这就需要用到操作 2 了。 2.2操作 2 的本质出现次数是可以交换的 以示例 3 为例。统计 s cabbba 的字符出现次数 a 出现 2 次。b 出现 3 次。c 出现 1 次。 我们可以把 a 都变成 b同时把 b 都变成 a。 这相当于交换 a 和 b 的出现次数得到 a 出现 3 次。b 出现 2 次。c 出现 1 次。 然后交换 a 和 c 的出现次数得到 a 出现 1 次。b 出现 2 次。c 出现 3 次。 这便是字符串 t abbccc 的字符出现次数。 所以「出现次数」是可以任意排列的。 2.3算法思路 判断 word1 和 word2 的长度是否一样如果不一样直接返回 false。判断 word1 和 word2 的字符集合是否一样如果不一样直接返回 false。例如 word1 中有字符 abcword2 中有字符 zxc我们无论如何都不能把 word1 变成 word2 。判断 word1 的字符出现次数的集合是否等于 word2 的字符出现次数的集合等于返回 true不等于返回 false。注意集合可以有相同元素比如 aabbbccc 对应的集合就是 {2,3,3}。 三、代码 class Solution {public boolean closeStrings(String word1, String word2) {if (word1.length() ! word2.length()) {//判断长度return false;}int[] count1 new int[26], count2 new int[26];for (char c : word1.toCharArray()) {count1[c - 97];}for (char c : word2.toCharArray()) {count2[c - 97];}for (int i 0; i 26; i) {//判断字符是否相等if (count1[i] 0 count2[i] 0 || count2[i] 0 count1[i] 0) {return false;}}Arrays.sort(count1);Arrays.sort(count2);return Arrays.equals(count1, count2);//判断集合元素是否相等} } 下面是简化版代码但是上面的代码性能更好如果两个字符串不相等则直接不走下面的逻辑。 class Solution {public boolean closeStrings(String word1, String word2) {int[] count1 new int[26], count2 new int[26];for (char c : word1.toCharArray()) {count1[c - 97];}for (char c : word2.toCharArray()) {count2[c - 97];}for (int i 0; i 26; i) {if (count1[i] 0 count2[i] 0 || count2[i] 0 count1[i] 0) {return false;}}Arrays.sort(count1);Arrays.sort(count2);return Arrays.equals(count1, count2);} } 四、总结 复杂度分析 时间复杂度O(max⁡{n1,n2}Clog⁡C)其中 n1 和 n2 分别是字符串 word1 和 word2 的长度C26 是字符集大小。 空间复杂度O(C)。
http://www.hkea.cn/news/14332750/

相关文章:

  • 404做的好的网站网页制作与网站建设广州
  • 上海做网站汉狮网络物流公司会计好做吗
  • 自己做的网站怎么弄成appwordpress内容页边栏
  • 广州企业网站设计制作企业用什么邮箱比较好
  • 网站设计需要什么证湛江seo排名外包
  • 怎么管理网站添加代码百度推广创意范例
  • 手机网站建设与制作昆明电商网站建设
  • 网站 wordpress 公众号自己做网站跟域名怎样做
  • 怎么创建网站建设网站做优化有什么好处
  • 上海网站制作商兰亭集势网站模板
  • 网站怎么建设高端公司wordpress fox
  • python 网站开发 案例最好的cms开源
  • 千图素材网站网页设计与制作心得体会1500字
  • 萧山网站优化清华大学精品课程网站
  • 本地网站怎么做网页设计模板代码网站
  • 大型网站维护费一年多少wordpress外链略缩图
  • 网站做次级页面邢台做网站推广费用
  • 怎么让网站被收录长春网站只长春网站制作做
  • 竹子建站怎么样贸易公司如何找客户
  • 临沂哪家做网站最好成品网站源码免费
  • html做的网站排版错误郴州网站优化
  • 网站文章不收录的原因wordpress调用多媒体
  • 艺梵科技 网站建设百度推广seo自学
  • 哪个域名网站好百度打网站名称就显示 如何做
  • 网站建设功能列表百度账号怎么注册
  • 上海韵茵网站建设编程网站排名
  • 无锡大型设计网站报价关于网站开发的一些论文
  • 生态建设研究所网站新手建网站
  • 网站建设试用建设部注册人员查询
  • 四川建设网官方网站wordpress 页眉