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

网站制作有前途吗新建网站seo优化怎么做

网站制作有前途吗,新建网站seo优化怎么做,网站管理系统是什么,正版厦门网站设计公司454. 四数相加II 题目链接#xff1a;454. 四数相加II 思路#xff1a;哈希法。使用map集合#xff0c;key存放ab的值#xff0c;value存放ab出现的次数。使用两层循环#xff0c;循环前两个数组#xff0c;找出ab#xff0c;对map赋值。再用两层循环#xff0c;遍历…454. 四数相加II 题目链接454. 四数相加II 思路哈希法。使用map集合key存放ab的值value存放ab出现的次数。使用两层循环循环前两个数组找出ab对map赋值。再用两层循环遍历后两个数组找出符合map中符合目标的值并通过value获取出现的次数并累加。其实就是将四数相加变成两数相加将时间复杂度从O(n4)降至O(n2) 时间复杂度O(n2) class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {int count 0; // 统计abcd 0 出现的次数MapInteger, Integer map new HashMap();// 先遍历前两个数组将ab以及出现的次数放到map中for (int a : nums1) {for (int b : nums2) {map.put(a b, map.getOrDefault(a b, 0) 1);}}// 然后遍历后两个数组从map中找到符合条件的ab并计数for (int c : nums3) {for (int d : nums4) {if (map.containsKey(0 - (c d))) {count map.get(0 - (c d));}}}return count;} }383. 赎金信 题目链接383. 赎金信 思路哈希法。其实就是字母异位词的扩展题目思路同字母异位词。 时间复杂度O(n) class Solution {public boolean canConstruct(String ransomNote, String magazine) {// 变向的字母异位词int[] count new int[26];for (int i 0; i ransomNote.length(); i) {count[ransomNote.charAt(i) - a];}for (int i 0; i magazine.length(); i) {count[magazine.charAt(i) - a]--;}for (int i : count) {if (i 0) { // 仅在此处有差别return false;}}return true;} }15. 三数之和 题目链接15. 三数之和 思路使用双指针法。本题的重点在于考察去重操作。先对数组进行排序。使用i遍历一遍数组遍历过程中left初始为i1right初始为最后一个元素然后如果left和right指向的元素符合目标值将三个数放进结果中如果不符合目标值调整left和right的位置。 注意要对三个数都进行去重操作。 i指向的是a如果和前一个元素重复就没必要再进行遍历了跳过执行下一个元素。 left指向的是b如果存入结果后后一个元素仍然和当前元素相同跳过后一个元素。 right指向的是c如果存入结果后前一个元素仍然和当前元素相同跳过前一个元素。 通过双指针将时间复杂度由O(n3)降至了O(n2) 时间复杂度O(n2) class Solution {public ListListInteger threeSum(int[] nums) {// 双指针法ListListInteger res new LinkedList();// 先进行排序Arrays.sort(nums);for (int i 0; i nums.length; i) {// 如果当前最小的元素都大于0了返回res就可以了if (nums[i] 0) return res;// 对a去重如果和前一个元素相同说明已经判断过了执行下一个if (i 0 nums[i] nums[i - 1]) continue;int left i 1, right nums.length - 1;while (left right) {if (nums[i] nums[left] nums[right] 0) {left;} else if (nums[i] nums[left] nums[right] 0) {right--;} else {res.add(Arrays.asList(nums[i], nums[left], nums[right]));while (left right nums[left] nums[left 1]) { // 对b去重left;}while (left right nums[right] nums[right - 1]) { // 对c去重right--;}left;right--;}}}return res;} }8. 四数之和 题目链接8. 四数之和 思路使用双指针法原理同三数之和。因为这次目标值可以指定为负数所以要注意剪枝时的操作。用i和j确定a和b用left和right寻找符合条件c和d。同样要注意这四个数每个数都要进行去重操作。 不要判断nums[k] target 就返回了三数之和 可以通过 nums[i] 0 就返回了因为 0 已经是确定的数了四数之和这道题目 target是任意值。比如数组是[-4, -3, -2, -1]target是-10不能因为-4 -10而跳过。但是我们依旧可以去做剪枝逻辑变成nums[i] target (nums[i] 0 || target 0)就可以了。 四数之和的双指针解法是两层for循环nums[k] nums[i]为确定值依然是循环内有left和right下标作为双指针找出nums[k] nums[i] nums[left] nums[right] target的情况。 那么一样的道理五数之和、六数之和等等都采用这种解法。 时间复杂度O(n3) class Solution {public ListListInteger fourSum(int[] nums, int target) {// 双指针法类似三数之和ListListInteger res new LinkedList();// 先排序Arrays.sort(nums);for (int i 0; i nums.length; i) {if (nums[i] target (nums[i] 0 || target 0)){// 剪枝操作return res;}if (i 0 nums[i] nums[i - 1]) { // 对a去重continue;}for (int j i 1; j nums.length; j) {if (j i 1 nums[j] nums[j - 1]) // 对b去重continue;int left j 1, right nums.length - 1;while (left right) {if (nums[i] nums[j] nums[left] nums[right] target) {left;} else if (nums[i] nums[j] nums[left] nums[right] target) {right--;} else {res.add(Arrays.asList(nums[i], nums[j], nums[left], nums[right]));while (left right nums[left] nums[left 1]) {// 对c去重left;}while (left right nums[right] nums[right - 1]) {// 对d去重right--;}left;right--;}}}}return res;} }哈希表题目总结 从哈希表的理论基础到数组、set和map的经典应用把哈希表的全貌呈现出来。 同时也强调虽然map是万能的详细介绍了什么时候用数组什么时候用set。 相信通过代码随想录中的哈希表总结篇大家可以对哈希表有一个全面的了解。
http://www.pierceye.com/news/633610/

相关文章:

  • 做内衣的网站校园网站建设网站
  • 学做网站论坛vip共享wordpress分类下文章排序
  • 文章内容网站系统网页编辑怎么打开
  • 建网站难吗查看关键词被搜索排名的软件
  • 同学会网站建设方案全免费无代码开发平台
  • 做网站给女朋友溧阳网站制作
  • 怎么注册电力建设公司网站wordpress用户注册邮箱验证
  • 用asp做的网站如何发布上海公司网站备案
  • 金华企业网站建设公司知识付费小程序源码
  • 网站建设十胜石公众号编辑器免费模板
  • 做网站用虚拟机还是服务器广东深广东深圳网站建设服务
  • 做网站设计所遇到的问题百度云盘官网登录入口
  • 网站建设合作流程图在北京做兼职哪个网站好
  • 哪些网站是phpwind做的广东各地最新病例
  • 精品网站设计wordpress第三方主题
  • 莱芜网站设计wordpress使用方法
  • 商城网站框架河南招标信息网
  • 卖辅助网站怎么做最大源码网站
  • 温州百度推广排名廊坊网站排名优化报价
  • 湖北建设信息网站百度一下百度主页
  • 做网站的销售员电话话术wordpress主页链接失效
  • 国外唯美flash个人网站欣赏微网站建设教程
  • 网站动态添加广告怎么做的东莞网站建设规范
  • 天津网站建设工作室seo网站推广实例
  • 网站建设销售工作职责外贸网站建设知识 列表
  • 电子商务网站建设教案wordpress置顶
  • 公司建立网站步骤wordpress修改社交标签
  • 汕头网站建设公司附近电商培训班
  • 传奇服务器网站如何建设官方网站下载zoom
  • 帮人做彩票网站支付接口电子商务网站名字