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

昌平区手机网站制作服务百度站长网站提交

昌平区手机网站制作服务,百度站长网站提交,深圳市建设交易服务网,建设手机网站培训教程文章目录 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和454. 四数相加 II383. 赎金信15. 三数之和18. 四数之和 242.有效的字母异位词 class Solution {public boolean isAnagram(String s, String t) {if(snull || tnull || s.length()!t.length()){return … 文章目录 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和454. 四数相加 II383. 赎金信15. 三数之和18. 四数之和 242.有效的字母异位词 class Solution {public boolean isAnagram(String s, String t) {if(snull || tnull || s.length()!t.length()){return false;}MapCharacter, Integer mapSstrToMap(s);MapCharacter, Integer mapTstrToMap(t);return mapS.equals(mapT);}private MapCharacter, Integer strToMap(String str){MapCharacter, Integer map new HashMap();for(int i0;istr.length();i){char chstr.charAt(i);// if(map.containsKey(ch)){// map.put(ch,map.get(ch)1);// }else{// map.put(ch,1);// }map.put(ch, map.getOrDefault(ch,0)1);}return map;} }为什么用下面的代码代替 equals() 方法来判断两个 Map 的内容是否相等时会有一个测试用例不通过 for(Map.EntryCharacter, Integer entry:mapS.entrySet()){Character keySentry.getKey();Integer valueSentry.getValue();if(!mapT.containsKey(keyS) || mapT.get(keyS)!valueS){return false;} }349. 两个数组的交集 class Solution {public int[] intersection(int[] nums1, int[] nums2) {if(nums1null || nums2null){return null;}// 分别将两个数组转成Set集合去重SetInteger set1new HashSet();for(int i0;inums1.length;i){set1.add(nums1[i]);}SetInteger set2new HashSet();for(int i0;inums2.length;i){set2.add(nums2[i]);}//求set1与set2的交集交集保存在set1中//retainAll保留两者都有的set1.retainAll(set2);int[] numnew int[set1.size()];int j0;for(Integer item:set1){num[j]item;}return num;} }202. 快乐数 class Solution {public boolean isHappy(int n) {// 将正整数n的每一位放入List集合升序排列ListInteger list getNewList(n);SetList setnew HashSet();int sum-1;while(true){if(set.contains(list)){return false;}sumlistSum(list);if(sum1){return true;}else{set.add(list);listgetNewList(sum);}}}private ListInteger getNewList(int num){ListInteger list new ArrayList();while(num/10!0){int modResnum%10;list.add(modRes);num/10;}list.add(num); Collections.sort(list);return list;}private int listSum(ListInteger list){int sum0;for (Integer item : list) {sumitem*item;}return sum;} }1. 两数之和 class Solution {public int[] twoSum(int[] nums, int target) {MapInteger,Integer mapnew HashMap();for(int i0;inums.length;i){// 要在数组元素还未进Map集合时判断Map中是否有target-nums[i])if(map.containsKey(target-nums[i])){return new int[]{map.get(target-nums[i]), i};}//Map中key是数组元素值value是元素在数组中的下标map.put(nums[i],i);}return null;} }454. 四数相加 II 思路将四个数组分为两组处理。 class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {MapInteger, Integer mapnew HashMap();for(int i0;inums1.length;i){for(int j0;jnums2.length;j){int sum nums1[i]nums2[j];map.put(sum, map.getOrDefault(sum, 0)1);}}int count0;for(int i0;inums3.length;i){for(int j0;jnums4.length;j){int sum nums3[i]nums4[j];if(map.containsKey(-sum)){countmap.get(-sum);}}}return count;} }383. 赎金信 class Solution {public boolean canConstruct(String ransomNote, String magazine) {// 将magazine中的字符以及对应出现的频率记录到Map中MapCharacter,Integer mapnew HashMap();for(int i0;imagazine.length();i){map.put(magazine.charAt(i),map.getOrDefault(magazine.charAt(i),0)1);} for(int i0;iransomNote.length();i){char currentCh ransomNote.charAt(i);if(!map.containsKey(currentCh)){return false;}else{map.put(currentCh,map.get(currentCh)-1);if(map.get(currentCh)0){map.remove(currentCh);}}}return true;} }15. 三数之和 用了哈希表时间超限据说用排序双指针思路简单且可行后面刷到双指针的题再完成这个方法的题解。 class Solution {public ListListInteger threeSum(int[] nums) {// key两个元素的和 value所有和等于key的元素组合以下标的形式记录MapInteger, ListListInteger map new HashMap();for(int i0;inums.length;i){for(int ji1;jnums.length;j){// 将前两个元素包装到List中ListInteger innerListnew ArrayList();innerList.add(i);innerList.add(j);int keynums[i]nums[j];if(!map.containsKey(key)){ListListInteger outerListnew ArrayList(); outerList.add(innerList);map.put(key, outerList);}else{map.get(key).add(innerList);}}}SetListInteger resSetnew HashSet(); for(int k0;knums.length;k){if(map.containsKey(-nums[k])){ListListInteger outerListmap.get(-nums[k]);for(ListInteger innerList : outerList){if(!innerList.contains(k)){ListInteger innerResListnew ArrayList();innerResList.add(nums[innerList.get(0)]);innerResList.add(nums[innerList.get(1)]);innerResList.add(nums[k]);Collections.sort(innerResList);resSet.add(innerResList);}}}}return new ArrayList(resSet);} }18. 四数之和 跟三数之和一样也是排序双指针刷到双指针再做。
http://www.yayakq.cn/news/2661/

相关文章:

  • 餐饮商城网站制作多少钱事业单位网站建设注销情况说明
  • 知名做网站公司网站后台维护一般要怎么做
  • 水泥网站营销方案怎么做个人做的网站能备案吗
  • 广州网站建设公司嘉御北京做机床的公司网站
  • 网站设计风格怎么写网站可以跟博客做互链吗
  • 企业网站首页怎么优化做网站和管理系统
  • vue做网站前端专业网站开发公司地址
  • 菜鸟制作个人网站网页实例成都哪里做网站好
  • 南宁建设厅官方网站电商网页设计教程
  • 上线了怎么做网站wordpress简约新闻自媒体主题
  • 大型网站服务器多少钱南京奥体建设公司
  • 婚纱网站建设微信群杭州网站前端建设
  • 网站建设一般分为几个步骤旅游网页代码
  • 网站 系统设置东莞网站建
  • 四川做网站建设银行住房贷款网站
  • 商城网站建设哪个比较好做个什么网站
  • 上海网站推广专员需求北京seo关键词排名
  • 建筑设计规范网站唐山教育平台网站建设
  • 门户网站营销特点一级消防工程师考试地点
  • 如何查询网站被百度收录锦绣大地seo
  • weui做购物网站的案例深圳罗湖企业网站推广
  • 网站开发要会英语吗游戏推广在哪里接活
  • 后台更新的内容在网站上不显示wordpress主题结构
  • 盐山建网站cms+wordpress模板
  • o元做网站all import wordpress
  • 随州网站推广哪家权威在线阅读网站开发教程
  • 只做移动端的网站wordpress移动端分享
  • app网站建设公司有网址如何做网站赚钱
  • 深圳专业专业网站建设wordpress插件必备
  • 做网站宣传网站设计需求分析报告