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

如何在大网站做外链企业网站建设58同城

如何在大网站做外链,企业网站建设58同城,建筑工程网络计划,重庆网页制作设计给你一个字符串数组#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [eat, tea, tan, ate, nat, …给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [eat, tea, tan, ate, nat, bat] 输出: [[bat],[nat,tan],[ate,eat,tea]]示例 2: 输入: strs [] 输出: [[]]示例 3: 输入: strs [a] 输出: [[a]]提示 1 strs.length 1040 strs[i].length 100strs[i] 仅包含小写字母 我的解题思路 自定义一个hash方法将每个字符串进行hash计算将相同hash值的字符串存放在一个list当中。 我定义的hash方法每个字符的转为int值然后相乘乘积对他们的和1取余数。 出现错误 原因:上述hash方法存在碰撞没有有效处理碰撞的情况。 试了好几次自定义的hash方法一直都是存在碰撞的情况。 不死磕直接看官方题解 官方题解1 方法一排序 由于互为字母异位词的两个字符串包含的字母相同因此对两个字符串分别进行排序之后得到的字符串一定是相同的故可以将排序之后的字符串作为哈希表的键。 class Solution {public ListListString groupAnagrams(String[] strs) {MapString, ListString map new HashMapString, ListString();for (String str : strs) {char[] array str.toCharArray();Arrays.sort(array);String key new String(array);ListString list map.getOrDefault(key, new ArrayListString());list.add(str);map.put(key, list);}return new ArrayListListString(map.values());} }作者力扣官方题解 链接https://leetcode.cn/problems/group-anagrams/solutions/520469/zi-mu-yi-wei-ci-fen-zu-by-leetcode-solut-gyoc/ 来源力扣LeetCode 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。方法2 方法二计数 由于互为字母异位词的两个字符串包含的字母相同因此两个字符串中的相同字母出现的次数一定是相同的故可以将每个字母出现的次数使用字符串表示作为哈希表的键。 由于字符串只包含小写字母因此对于每个字符串可以使用长度为 26的数组记录每个字母出现的次数。需要注意的是在使用数组作为哈希表的键时不同语言的支持程度不同因此不同语言的实现方式也不同。 class Solution {public ListListString groupAnagrams(String[] strs) {MapString, ListString map new HashMapString, ListString();for (String str : strs) {int[] counts new int[26];int length str.length();for (int i 0; i length; i) {counts[str.charAt(i) - a];}// 将每个出现次数大于 0 的字母和出现次数按顺序拼接成字符串作为哈希表的键StringBuffer sb new StringBuffer();for (int i 0; i 26; i) {if (counts[i] ! 0) {sb.append((char) (a i));sb.append(counts[i]);}}String key sb.toString();ListString list map.getOrDefault(key, new ArrayListString());list.add(str);map.put(key, list);}return new ArrayListListString(map.values());} }作者力扣官方题解 链接https://leetcode.cn/problems/group-anagrams/solutions/520469/zi-mu-yi-wei-ci-fen-zu-by-leetcode-solut-gyoc/ 来源力扣LeetCode 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。自我总结: 对于hash类题目还是尽量不要自己创建hash方法去计算hash值你以为的独一无二的hash方法总能被测试用力暴捶。尽量从题目描述中去找到一些独特之处作为hashmap的键。例如这一次使用排序后的字符串或者每个字符出现的次数都可以作为键。 如何在函数方法上新建对象 直接和新建对象一样的方法new HashMap的contain方法有哪些。 containsKey(),containsValue() 如何收集HashMap的所有value值作为一个集合返回。 new ArrayListT(map.values()) // T与map的value类型要统一HashMap根据键取值的方法. map.get(key)List list new List();错误的定义集合方法因为List是一个接口不能有实现类。 List集合修改某个位置的值 list.set(index,newValue);字符串转为字符数组的方法 char[] charArray str.toCharArray();
http://www.hkea.cn/news/14436703/

相关文章:

  • 在酒吧里做那个视频网站关键词优化怎么写
  • 上海网站营销公司合肥高端网站建设设计公司哪家好
  • 网站开发文件夹人工智能软件
  • 洋县建设银行网站wordpress 如何去掉图片地址
  • 临淄建设局网站网站建设定位
  • 网站欢迎页面模板下载企业网站建设兴田德润实惠
  • 渭南做网站价格如何做网站域名
  • c 网站开发案例源码口碑营销的产品
  • 佛山微信网站建设哪家好杭州简单网技术有限公司
  • 网站建设学生选课系统可以仿做网站吗
  • 网站开发用软件flash 网站开发教程
  • 京东网站建设的目的微信小程序开发团队
  • 南通自助模板建站网站设计公司(信科网络)
  • 双峰网站建设个人域名推荐
  • 自己怎么做网站赚钱西安优化seo
  • 招聘网站开发工程师鞍山做网站公司
  • 陕西建新建设有限公司网站dede个人网站
  • 建设班级网站过程做网站运营的职业生涯规划
  • 怎样在工商局网站做公示做的好的国外网站
  • 营销软件网站建设大公司做网站
  • 服务器怎么做网站公众号开发者密钥有什么用
  • 网站建设需求报价明细开源多商户商城系统
  • 只做网站的清理wordpress option表
  • 如何做优酷网站赚钱网站规划与建设重要性理解与体会
  • 邢台企业做网站多少钱网站起名字大全
  • 电商网站 技术平面设计专用网站
  • wordpress制作网站教程想做淘宝 网站怎么做
  • 用ps个人网站怎么做网络公司做的网站
  • 通用cms网站微网站和手机网站
  • 织梦网站301重定向设计一个全面了解湖南的网站