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

xyz域名的网站有哪些淘宝怎么做网站

xyz域名的网站有哪些,淘宝怎么做网站,wordpress 动态加载,域名网站免费建站目录 1.题目链接:611.有效三角形的个数 2.题目描述: 3.解法一:(暴力解法)(会超时): 4.解法二(排序双指针) 1.题目链接:611.有效三角形的个数 2.题目描述: 给定一个包含非负整数的数组 nums &#xf…

目录

1.题目链接:611.有效三角形的个数

2.题目描述:

3.解法一:(暴力解法)(会超时):

4.解法二(排序+双指针)


1.题目链接:611.有效三角形的个数

2.题目描述:
 

给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。

示例 1:

输入: nums = [2,2,3,4]
输出: 3
解释:有效的组合是: 
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3

示例 2:

输入: nums = [4,2,3,4]
输出: 4

3.解法一:(暴力解法)(会超时):

算法思路:
三层for循环枚举出所有的三元组,并且判断是否能构成三角形。

虽然说是暴力求解,但是还是可以优化一下:

判断三角形的优化

  • 如果能构成三角形,需要满足任意两边之和大于第三边。但是实际上只需让较小的两条边之和大于第三边既可。
  • 因此我们可以先将原数组排序,然后从小到大枚举三元组,一方面省去枚举的数量,另一方面方便判断是否能构成三角形。
class Solution
{
public:int triangleNumber(vector<int>& nums){//1.排序sort(nums.begin(), nums.end());int n = nums.size(), ret = 0;//2.从小到大枚举所有的三元组for (int i = 0; i < n; i++){for (int j = i + 1; j < n; j++){for (int k = j + 1; k < n; k++){   //当最小的两个边之和大于第三个边的时候,统计答案if (nums[i] + nums[i] > nums[k])ret++;}}}return ret;}
};

4.解法二(排序+双指针)

算法思路:

先将数组排序。

根据解法一中的优化思想,我们可以固定一个最长边,然后在比这条边小的有序数组中找出一个二元组,使这个二元组之和大于这个最长边。由于数组使有序的,我们可以利用对撞指针来优化。

设最长边枚举到i位置,区间[left,right]是i位置左边的区间(也就是比他小的区间):

  • 如果nums[left] + nums[right] > nums[i]:
    说明[left,right-1]区间上的所有元素均可以与nums[right]构成比nums[i]大的二元组            满足条件的有right - left种                                                                                                  此时right位置的元素的所有情况相当于全部考虑完毕,right--,进入下一轮判断
  • 如果nums[left] + nums[right] <= nums[i]:
    说明left位置的元素是不可能与[left+1,right]位置上的元素构成满足条件的二元组               left位置的元素可以舍去,left++进入下轮循环
class Solution {
public:int triangleNumber(vector<int>& nums) {int sum = 0,n = nums.size();sort(nums.begin(),nums.end());for(int i = n - 1;i>=2;i--){int left = 0,right = i-1;while(left<right){if(nums[left] + nums[right] > nums[i]){sum += (right - left);right--;}else{left++;}}}return sum;}
};


文章转载自:

http://0Pm2UZb0.Lcxzg.cn
http://xf8lNwS6.Lcxzg.cn
http://tWLLZn1B.Lcxzg.cn
http://Yqjap3zE.Lcxzg.cn
http://NUlxrmKK.Lcxzg.cn
http://uZHMtE00.Lcxzg.cn
http://3uBbeVHw.Lcxzg.cn
http://fzqvwvVI.Lcxzg.cn
http://IobNCt9Y.Lcxzg.cn
http://AUNftDOI.Lcxzg.cn
http://hikjC31w.Lcxzg.cn
http://HOjDNVeE.Lcxzg.cn
http://6lxthD9G.Lcxzg.cn
http://Bklz7U1L.Lcxzg.cn
http://7tedMHyE.Lcxzg.cn
http://QYHLnewm.Lcxzg.cn
http://aFf0SiM4.Lcxzg.cn
http://Bgbrkz5c.Lcxzg.cn
http://b1WkgoUs.Lcxzg.cn
http://FmAWyTJk.Lcxzg.cn
http://VmD0s5fW.Lcxzg.cn
http://8Ef0wyJI.Lcxzg.cn
http://vbvRNC6K.Lcxzg.cn
http://eOcuGlMg.Lcxzg.cn
http://05l8DQc5.Lcxzg.cn
http://kF9fcJdK.Lcxzg.cn
http://B3O2KMRO.Lcxzg.cn
http://lMXZCGzr.Lcxzg.cn
http://qoHtzcvX.Lcxzg.cn
http://VZpslPC4.Lcxzg.cn
http://www.dtcms.com/wzjs/657050.html

相关文章:

  • 搜狗站长工具平台广州天河区注册公司
  • 网站开发内容包括哪些固定ip 建网站
  • 沭阳做网站好的移动wifi多少钱一个月
  • 服装服饰设计网站浙江大境软装设计
  • 邯郸普通网站建设婚纱摄影行业网站
  • 家装室内设计东莞网站优化关键词排名
  • 个人开发网站做防水施工 上什么网站找
  • 做php网站前端价格苏州代理记账
  • 网站建设方案ppt 枫子科技网站建设具体工作总结
  • 企业网站建设费用怎么入账三联网站建设工作室
  • 网站安全建设目的是什么政务网站集约化建设难点与建议
  • 广东 网站经营性备案网络推广网站河南
  • 宝塔 怎么做网站架设网站的目的
  • 西安网站建设公司 云阔新开河街做网站公司
  • 广东三网合一网站建设报价wordpress提取公众号文章
  • 广州专业的网站开发公司中国的网站域名
  • 化妆网站模板下载免费什么是网络设计平台
  • 美做天然居家居网站沈阳公司做网站
  • 有那些网站seo关键词排名优化联系方式
  • 宁德市住房和城乡建设局网站机关网站建设制度
  • 给银行做网站17173游戏网
  • php源代码做网站网站建设中 什么意思
  • 企业网站计划书杂志社网站建设
  • dw做网站 后台用什么后台网站开发 合同范本
  • 网站快速备案被退回的几种原因分析wordpress 文章 链接 手动添加 nofollow
  • 石家庄企业做网站服务器配置
  • 地方宣传网站建设的必要性京东的电子商务网站建设
  • 山东省济宁市嘉祥县建设局网站运城网站建设求职简历
  • mugeda做网站研究生网站 建设 需求
  • 企业网站 管理韩国服装网站建设