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

简述php网站开发流程图久久seo正规吗

简述php网站开发流程图,久久seo正规吗,济南网站建设公司晟创未来,做学习交流网站问题背景 给你一个整数数组 a r r arr arr,以及 a 、 b 、 c a、b 、c a、b、c 三个整数。请你统计其中好三元组的数量。 如果三元组 ( a r r [ i ] , a r r [ j ] , a r r [ k ] ) (arr[i], arr[j], arr[k]) (arr[i],arr[j],arr[k]) 满足下列全部条件&#xff…

问题背景

给你一个整数数组 a r r arr arr,以及 a 、 b 、 c a、b 、c abc 三个整数。请你统计其中好三元组的数量。
如果三元组 ( a r r [ i ] , a r r [ j ] , a r r [ k ] ) (arr[i], arr[j], arr[k]) (arr[i],arr[j],arr[k]) 满足下列全部条件,则认为它是一个 好三元组

  • 0 ≤ i < j < k < a r r . l e n g t h 0 \le i < j < k < arr.length 0i<j<k<arr.length
  • ∣ a r r [ i ] − a r r [ j ] ∣ ≤ a |arr[i] - arr[j]| \le a arr[i]arr[j]a
  • ∣ a r r [ j ] − a r r [ k ] ∣ ≤ b |arr[j] - arr[k]| \le b arr[j]arr[k]b
  • ∣ a r r [ i ] − a r r [ k ] ∣ ≤ c |arr[i] - arr[k]| \le c arr[i]arr[k]c

其中 ∣ x ∣ |x| x 表示 x x x 的绝对值。
返回 好三元组的数量

数据约束

  • 3 ≤ a r r . l e n g t h ≤ 100 3 \le arr.length \le 100 3arr.length100
  • 0 ≤ a r r [ i ] ≤ 1000 0 \le arr[i] \le 1000 0arr[i]1000
  • 0 ≤ a , b , c ≤ 1000 0 \le a, b, c \le 1000 0a,b,c1000

解题过程

题中要求的约束有三个,暴力枚举的时间复杂度是 O ( N 3 ) O(N ^ 3) O(N3)
如果数组是有序的,那可以很容易地提高时间方面的效率,但是结果与元素的初始位置有关,所以不方便直接排序。
退而求其次,定义一个下标数组,对它进行排序。
然后将数组中的元素当作 j j j 来遍历,将满足 ∣ a r r [ i ] − a r r [ j ] ∣ ≤ a |arr[i] - arr[j]| \le a arr[i]arr[j]a 以及 ∣ a r r [ j ] − a r r [ k ] ∣ ≤ b |arr[j] - arr[k]| \le b arr[j]arr[k]b
两个条件的原数组中的元素分别记录到哈希表中。
接下来只要再求满足第三个条件的元素对的数量,根据绝对值的定义,可以在线性的时间内得到合法结果的上下限。

具体实现

class Solution {public int countGoodTriplets(int[] arr, int a, int b, int c) {Integer[] idx = new Integer[arr.length];Arrays.setAll(idx, i -> i);Arrays.sort(idx, (i, j) -> arr[i] - arr[j]);int res = 0;for (int j : idx) {int cur = arr[j];List<Integer> list1 = new ArrayList<>();for (int i : idx) {if (i < j && Math.abs(arr[i] - cur) <= a) {list1.add(arr[i]);}}List<Integer> list2 = new ArrayList<>();for (int k : idx) {if (k > j && Math.abs(arr[k] - cur) <= b) {list2.add(arr[k]);}}int left = 0;int right = 0;for (int item : list1) {while (right < list2.size() && list2.get(right) <= item + c) {right++;}while (left < list2.size() && list2.get(left) < item - c) {left++;}res += right - left;}}return res;}
}
http://www.dtcms.com/wzjs/86445.html

相关文章:

  • 武汉企业北京首页关键词优化
  • 哪里有网站制作服务游戏代理平台
  • wordpress怎样建立二级菜单seo百度百科
  • 广州市专注网站建设公司上海seo有哪些公司
  • 网站开发及运营代理协议范本互联网站
  • 网站宣传页baiduseoguide
  • 深圳市哪些公司做网站好违禁网站用什么浏览器
  • java图书管理网站建设微信营销模式有哪些
  • 网站建设的投资必要性提高工作效率的软件
  • 自己买域名可以做网站吗做专业搜索引擎优化
  • ghost wordpress比较武汉seo优化服务
  • 旅游+网站建设推广链接怎么制作
  • 俄罗斯网站开发网络推广
  • 南宁手机平台网站建设百度浏览器手机版
  • 做网投网站好百度网盘优化
  • 网站是用织梦系统做的首页打开超慢网络营销的实现方式
  • 课程网站建设技术seo基础知识培训
  • 大连 建网站重庆seo排名扣费
  • 专业做网站设计公司价格百度客服电话是多少
  • 做外贸什么网站比较好cba目前排行
  • 公司网站空间申请制作网页需要多少钱
  • html怎么做查询网站吗怎么做百度网页推广
  • 网站优化网络推广seo百度问一问付费咨询
  • 单页网站seo优化网络推广网站大全
  • 网络培训内容seo公司关键词
  • 外网专门做钙片的网站福州百度推广排名优化
  • 网站开发价目表12月30日疫情最新消息
  • 网站建设课程体系怎么做网页设计的页面
  • 广告公司网站建设方案怎样查询百度收录和排名情况
  • 设计一套企业网站设计报价bing搜索国内版