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

网站主体负责人必须是法人吗wordpress storefront

网站主体负责人必须是法人吗,wordpress storefront,广州网站建设出售,如何快速搭建一个网站其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一#xff1a;双指针排序 三、代码 3.1 方法一#xff1a;双指针排序 3.2 方法二#xff1… 其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一双指针排序 三、代码 3.1 方法一双指针排序 3.2 方法二两次遍历 hash 法 3.3 方法三一次遍历 hash 法 四、复杂度分析 4.1 方法一双指针排序 4.2 方法二两次遍历 hash 法 4.3 方法三一次遍历 hash 法 前言 这是力扣的 1679 题难度为中等解题方案有很多种本文讲解我认为最奇妙的一种。 一、题目描述 给你一个整数数组 nums 和一个整数 k 。 每一步操作中你需要从数组中选出和为 k 的两个整数并将它们移出数组。 返回你可以对数组执行的最大操作数。 示例 1 输入nums [1,2,3,4], k 5 输出2 解释开始时 nums [1,2,3,4] - 移出 1 和 4 之后 nums [2,3] - 移出 2 和 3 之后 nums [] 不再有和为 5 的数对因此最多执行 2 次操作。 示例 2 输入nums [3,1,3,4,3], k 6 输出1 解释开始时 nums [3,1,3,4,3] - 移出前两个 3 之后nums [1,4,3] 不再有和为 6 的数对因此最多执行 1 次操作。提示 1 nums.length 1051 nums[i] 1091 k 109 二、题解 本题其实有很多种解法比方说两次遍历 hash 法一次遍历 hash 法但这些方法都不如双指针排序法简洁干练销量也没双指针排序法高。 两次遍历 hash 法时间复杂度O(n),空间复杂度O(n)。 一次遍历 hash 法时间复杂度O(n),空间复杂度O(n)。 双指针排序法时间复杂度O(nlogn n),空间复杂度O(1)。 但按理说排序的时间复杂度是大于 hash 的但是他的代码效率反而更高说明 hash 算法的效率太低或者冲突严重。 在下面我也会贴两次遍历 hash 法和一次遍历 hash 法的代码解题思路就不讲解了。 2.1 方法一双指针排序 思路与算法 1. 首先先将数组排序在设定左右指针 i 和 j 分别指向数组的头和尾。 2. 将两个指针指向的数进行求和 若和大于目标则说明太大了需要右指针左移可以使和变小。若和小于目标则说明太小了需要左指针右移可以使和变大。若和等于目标则两个指针都往中间移动结果 1 。 3. 循环2步骤直至左指针不在右指针的左边。 三、代码 3.1 方法一双指针排序 Java版本 class Solution {public int maxOperations(int[] nums, int k) {int count 0, i 0, j nums.length - 1;Arrays.sort(nums);while (i j) {if (nums[i] nums[j] k) {count;i;j--;} else if (nums[i] nums[j] k) {j--;} else {i;}}return count;} } C版本  #include algorithm #include vectorclass Solution { public:int maxOperations(std::vectorint nums, int k) {int count 0;std::sort(nums.begin(), nums.end());int i 0, j nums.size() - 1;while (i j) {if (nums[i] nums[j] k) {count;i;j--;} else if (nums[i] nums[j] k) {j--;} else {i;}}return count;} };Python版本  class Solution:def maxOperations(self, nums: List[int], k: int) - int:count 0nums.sort()i, j 0, len(nums) - 1while i j:if nums[i] nums[j] k:count 1i 1j - 1elif nums[i] nums[j] k:j - 1else:i 1return count3.2 方法二两次遍历 hash 法 Java版本 class Solution {public int maxOperations(int[] nums, int k) {MapInteger, Integer map new HashMap(nums.length);//统计每个数据出现的次数key为数据value为次数for (int num : nums) {Integer i map.getOrDefault(num, 0);map.put(num, i 1);}int result 0;for (int num : nums) {// 求和达到K的数据int x k - num;// 从map获取xint i map.get(num);//如果次数小于等于0说明数据被使用过了【就算后面遍历到他也可以跳过了】if (i 0) {continue;}//统计数量减一先减去防止两个相同的数据相加达到K而只有一个数据//【有个大兄弟有疑问为什么直接删了。补充一下因为是两遍循环第一次就统计过所有的数据了如果后面的if无法进入那么之后也不可能了删了就删了无所谓了。】map.put(num, i - 1);// 是否有 另一个数据。且统计的数量大于0if (map.containsKey(x) map.get(x) 0) {result;//结果1map.put(x, map.get(x) - 1);// 数量减一}}return result;} } 3.3 方法三一次遍历 hash 法 Java版本 class Solution {public int maxOperations(int[] nums, int k) {MapInteger, Integer map new HashMap(nums.length);int result 0;//统计每个数据出现的次数key为数据value为次数for (int num : nums) {// 获取求和的另一个数int x k - num;// 从map获取xInteger i map.get(x);// 是否有 另一个数据。且统计的数量大于0if (i ! null map.get(x) 0) {result;//结果1map.put(x, map.get(x) - 1);// 数量减一continue;}//这个数没有被使用统计数量1Integer count map.getOrDefault(num, 0);map.put(num, count 1);}return result;} } 四、复杂度分析 4.1 方法一双指针排序 时间复杂度O(nlogn n)。空间复杂度O(1)。 4.2 方法二两次遍历 hash 法 时间复杂度O(n)。空间复杂度O(n)。 4.3 方法三一次遍历 hash 法 时间复杂度O(n)。空间复杂度O(n)。
http://www.pierceye.com/news/164359/

相关文章:

  • 做网站需要用到ps吗中国十大最强装饰公司
  • 网站建设盈利去除wordpress rss图标
  • 网站策划书的基本内容东莞工程建设交易中心网
  • 免费推广网站入口2022静态网站开发外文文献
  • 如何做服装微商城网站建设网站开发设计中的收获
  • 网站开发详细设计文档模板网站建设设计工具
  • 网站建设项目资金申请wordpress主题美容
  • 专门做财经的网站软件开发都有哪些项目
  • 湛江网站制作多少钱建网站程序工具
  • 四川省乐山市建设银行网站一级门户网站建设费用
  • 六安网站制作哪里有网站备案网站
  • 石家庄手机网站建设公司wordpress媒体库难用
  • wordpress上传完了周口seo 网站
  • 广州网站建设技术方案建设宠物网站的目的
  • 邢台网站维护网络营销推广方法及分类
  • 做网站买过域名之后门户网站建设公司报价
  • 广告网站设计公司好吗重庆在线app
  • 深圳网站建设哪家公司便宜网站一般用什么语言做
  • 网站平台建设所需开发工具成都麦卡网络做网站开发怎么样
  • 可以做网站的电脑软件济南网页设计
  • 推广网站制作网站建设代理怎么做
  • 做网站页面遇到的问题网站规划设计的步骤
  • 请人做网站要多少钱做视频网站代码
  • 厦门建设网站的公司苏州外贸公司网站建设流程图
  • php做的静态网站怎么加密seo是什么工作
  • 溧水网站建设建立什么指标体系和评价程序规范
  • 怎样向顾客电销网站建设一号网站建设
  • 平陆县做网站移动网站开发的视频下载
  • 百度做个公司网站要多少钱区块链开源平台
  • 企业网站建设建设网站指定关键词优化