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

网站开发接外包怎样建立自己的网站平台

网站开发接外包,怎样建立自己的网站平台,建设企业网站心得体会,网页设计师培训费用预算图目录 一、刷题题号1:两数之和 二、解法总结1. 嵌套循环2. 双指针 一、刷题 记录LeetCode力扣刷题 题号1:两数之和 双循环(暴力解法): class Solution {public int[] twoSum(int[] nums, int target) {int[] listne…

目录

  • 一、刷题
    • 题号1:两数之和
  • 二、解法总结
    • 1. 嵌套循环
    • 2. 双指针

一、刷题

记录LeetCode力扣刷题

题号1:两数之和

  1. 双循环(暴力解法):
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];for(int i=0; i<nums.length;i++){for(int j=i+1; j<nums.length;j++){if(nums[i]+nums[j]==target){list[0]=i;list[1]=j;}}}return list;}
}

时间复杂度O(n²),j的初始值如果为0的话,循环次数会更多且需判断 i!=j

  1. HashMap 唯一key
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];Map<Integer, Integer> hashMap = new HashMap<Integer, Integer>();for (int i = 0; i < nums.length; ++i) {if (hashMap.containsKey(target - nums[i])) {list[0]=hashMap.get(target - nums[i]);list[1]=i;}hashMap.put(nums[i], i);}return list;}
}

我拿到题目时也想过先确定第一个数,再判断第二数是否在数组中(避免嵌套循环),但是第一时间没找到合适方法,后面看官方解法才想到。官方解法没有提前生成list数组,能提高一点执行用时。

  1. 双指针(未通过版):排序后下标已经乱了,不适合该题但是思路可以
class Solution {public int[] twoSum(int[] nums, int target) {int[] list=new int[2];int start=0,end=nums.length-1;QuickSort(nums,start,end);// Arrays.sort(nums);while(start<end){if(nums[start]+nums[end]>target) end--;if(nums[start]+nums[end]<target) start++;if(nums[start]+nums[end]==target){list[0]=start;list[1]=end;break;}}return list;}public void QuickSort(int[] nums,int start,int end){if(start<end){// 获取分区后的枢纽位置int pivotIndex=Partition(nums,start,end);// 分别对枢纽左右两边的子数组进行递归排序QuickSort(nums, start, pivotIndex - 1);QuickSort(nums, pivotIndex + 1, end);}}public int Partition(int[] nums,int start,int end){// 单边循环int pivot=nums[start]; // 基准元素int mask=start; // 标记指针for(int i=start+1;i<=end;i++){if(nums[i]<nums[mask]){mask++;// 交换int temp=nums[i];nums[i]=nums[mask];nums[mask]=temp;}}// 交换基准 nums[start]=nums[mask];nums[mask]=pivot;return mask;}}

先使用快速排序(或者Arrays.sort())排序好,再用首尾指针去判断,时间复杂度O(nlog₂n)(取决于排序算法O(n)+O(nlog₂n)=O(nlog₂n))
在这里插入图片描述

二、解法总结

1. 嵌套循环

暴力解法最常用,不考虑时间复杂度

2. 双指针

首尾指针,在排序的基础上使用,避免嵌套循环

http://www.yayakq.cn/news/246926/

相关文章:

  • 南宁律师网站建设高端网站开发注意事项
  • 产品包装设计网站找谁做企业网络营销策划书模板
  • 电商后台管理网站模板阿里巴巴外贸平台怎么样
  • 深圳门户网站建设方案做国外的网站
  • 企业网站建设策划书案例江门模板建站系统
  • 长安镇网站建设凡客诚品市场份额
  • 长沙网站建设找哪家北京北控京奥建设有限公司网站
  • 做网站备案需要什么有什么可以接单做设计的网站
  • 任务网站的接口怎么做网站建设明细表
  • 手机建设中网站网站开发的费用
  • 网站建设及报价格方案湖北网站建设营销qq
  • 襄阳门户网站建设音乐网站开发结语
  • 广州魔站建站中国水土保持生态环境建设网站
  • 空气能空调如何做网站网站子页面如何做seo
  • 网站开发报价ppt永康城乡建设局网站
  • 北京 手机网站建设软件开发都有哪些项目
  • 百度推广交了钱不给做网站网站做非经营性广告需备案
  • 对网站建设的讲话私密浏览器如何下载视频
  • 工程网站模板广州 济南网站建设公司 网络服务
  • 怎么搭建网站平台django 开放api 做网站
  • 网站做招聘需要什么资质网站开发需要的知识
  • 精品在线开发网站建设企业网站怎么做跟淘宝链接
  • 专业定制网站建设团队最新发布的手机有哪些
  • 用illustrator做网站哪里可以接网站开发项目做
  • 备案核验单 网站类型做一个内容网站多少钱
  • 中国最大的软件公司排名百度seo怎么收费
  • 做网站赚钱全攻略网站密码怎么做
  • 无障碍网站建设推广前景外国建筑网站
  • 做网站卖高仿做了半个月跨境电商不想干了
  • 珠海市网站开发公司桂林最近发生的重大新闻