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

建设网站需要懂什么沈阳seo优化新势力

建设网站需要懂什么,沈阳seo优化新势力,广东网站建设报价,网站做app收费标准目录 一.前缀和 1.前缀和介绍 2.编程中的前缀和 二.一维数组的动态和 1.题目描述 2.问题分析 3.代码实现 三.除自身以外数组的乘积 1.题目描述 2.问题分析 3.代码实现 四.和为 K 的子数组 1.题目描述 2.问题分析 3.代码实现 五.形成两个异或相等数组的三元组数目…

目录

一.前缀和

1.前缀和介绍

 2.编程中的前缀和

二.一维数组的动态和

1.题目描述

2.问题分析

3.代码实现

三.除自身以外数组的乘积

1.题目描述

2.问题分析

3.代码实现

四.和为 K 的子数组

1.题目描述

2.问题分析

3.代码实现

五.形成两个异或相等数组的三元组数目

1.题目描述

2.问题分析

3.代码实现


一.前缀和

1.前缀和介绍

前缀和,顾名思义,就是前n项相加之和,和我们高中时候学习的数列中的S_{n}一个含义

例如一个等差数组a_{n}=n,那他的前n项和S_{n}=\frac{n*(n+1)}{2}   

也可知道S_{n}-S_{n-1}=a_{n}

 2.编程中的前缀和

对于一个数组nums,也可以很容易求出它的前缀和数组

    public int[] prefix(int[] nums) {int[] prefix = new int[nums.length];prefix[0] = nums[0];for (int i = 1; i < nums.length; ++i) {prefix[i] = prefix[i - 1] + nums[i];}return prefix;}

prefix数组的含义是: prefix[i]的值为nums数组从0到i的元素之和

其实我们这里的前缀和并不仅仅局限于前几项的和,之后我们还会涉及到乘法前缀和(后缀和),异或前缀和等等......并且还会存在后缀和的情况

二.一维数组的动态和

1.题目描述

给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])

请返回 nums 的动态和。

力扣:力扣

2.问题分析

这道题就是一道典型的前缀和题目,没什么特别之处,数组的动态和计算公式就是前缀和的含义,可以直接写出代码求解

3.代码实现

    public int[] runningSum(int[] nums) {int[] prefix = new int[nums.length];prefix[0] = nums[0];for (int i = 1; i < nums.length; ++i) {prefix[i] = prefix[i - 1] + nums[i];}return prefix;}

三.除自身以外数组的乘积

1.题目描述

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

不要使用除法,且在 O(n) 时间复杂度内完成此题。

力扣:力扣

2.问题分析

这个问题说的很明白,不能用除法来进行,我们的第一想法是使用乘法前缀和来进行计算,但是考虑到不能使用除法和数组中可能存在0,所以这样是不能够满足题意和解答问题的.

因此我们不妨再来设置一个数组,这个数组用来存储乘法后缀和,我们计算res[i]的时候就可以它的前缀和乘以它的后缀和,这样它的结果就可以求出来了

设置前缀和数组left[i]含义为:从nums数组的第0到第i-1项的叠乘所获得的结果

设置后缀和数组right[i]含义为:从nums数组的第i+1到最后一项项的叠乘所获得的结果

最后结果数组res[i]=left[i]*right[i]

3.代码实现

    public int[] productExceptSelf(int[] nums) {int[] left = new int[nums.length];//left[i]:从0-i-1项相乘int[] right = new int[nums.length];//right[i]:从i+1到最后一项相乘left[0] = 1;right[nums.length - 1] = 1;for (int i = 1; i < nums.length; ++i) {left[i] = left[i - 1] * nums[i - 1];}for (int j = nums.length - 2; j >= 0; --j) {right[j] = right[j + 1] * nums[j + 1];}int[] res = new int[nums.length];for (int i = 0; i < nums.length; ++i) {res[i] = left[i] * right[i];}return res;}

四.和为 K 的子数组

1.题目描述

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 

力扣:力扣

2.问题分析

这一题我们不妨先暴力思考一下,暴力就是把它的所有子数组的和全部求出来,然后和k进行判断,最后统计出等于k的子数组的数量,至少也进行两层for循环,代码如下:

    public int subarraySum(int[] nums, int k) {int count = 0;for (int end = 0; end < nums.length; ++end) {int sum = 0;for (int start = end; start >= 0; --start) {sum += nums[start];if (sum == k) {count++;}}}return count;  }

相当于外层循环确定end,内层循环确定开始的位置start的位置

其实我们可以用一个哈希表进行优化,因为它的前缀和每次都是叠加的,其实只要统计它的每个前缀和的次数,然后prefix-k就是它从0到start的前缀和,此时start+1到end的位置就是和为k的子数组,同时map哈希表刚开始的时候还要添加key=0,value=1的键值对,因为当prefix刚好为k的时候,prefix-k=0,表示从0到end的子数组符合条件

3.代码实现

    public int subarraySum(int[] nums, int k) {HashMap<Integer, Integer> map = new HashMap<>();map.put(0, 1);//此时是从0到i的前缀和int prefix = 0, count = 0;for (int end = 0; end  < nums.length; ++end ) {prefix += nums[end];if (map.containsKey(prefix - k)) {count += map.get(prefix - k);}map.put(prefix, map.getOrDefault(prefix, 0) + 1);}return count;        }

五.形成两个异或相等数组的三元组数目

1.题目描述

给你一个整数数组 arr

现需要从数组中取三个下标 ijk ,其中 (0 <= i < j <= k < arr.length)

ab 定义如下:

  • a = arr[i] ^ arr[i + 1] ^ ... ^ arr[j - 1]
  • b = arr[j] ^ arr[j + 1] ^ ... ^ arr[k]

注意:^ 表示 按位异或 操作。

请返回能够令 a == b 成立的三元组 (i, j , k) 的数目。

力扣:力扣

2.问题分析

首先我们想的就是需要暴力遍历i,j和k这三个值,这一题是异或前缀和,首先我们把它的异或前缀和数组求解出来,然后用异或前缀和来表达a和b,

前缀和数组prefixArr[i]的含义:nums从0到i-1的异或前缀

a=prefixArr[j]^prefixArr[i]

b=prefixArr[k+1]^prefixArr[j]

a==b  即   prefixArr[k+1]==prefixArr[i]

知道这个之后,我们就可以使用暴力的方法求解出满足条件的三元组的数量了

3.代码实现

    public int countTriplets(int[] arr) {int[] prefixArr = new int[arr.length + 1];for (int i = 1; i <= arr.length; ++i) {prefixArr[i] = prefixArr[i - 1] ^ arr[i - 1];}System.out.println(Arrays.toString(prefixArr));int count = 0;for (int i = 0; i < arr.length - 2; ++i) {for (int j = i + 1; j < arr.length - 1; ++j) {for (int k = j + 1; k < arr.length; ++k) {if (prefixArr[k + 1] == prefixArr[i])count++;}}}return count;}


文章转载自:
http://alderfly.c7498.cn
http://retable.c7498.cn
http://vomitive.c7498.cn
http://teleconverter.c7498.cn
http://dishclout.c7498.cn
http://laryngoscopical.c7498.cn
http://kinase.c7498.cn
http://pneumatology.c7498.cn
http://theoretical.c7498.cn
http://brunch.c7498.cn
http://kinematic.c7498.cn
http://dulcin.c7498.cn
http://fuzznuts.c7498.cn
http://metalingual.c7498.cn
http://powerbook.c7498.cn
http://summon.c7498.cn
http://outset.c7498.cn
http://psychiatrist.c7498.cn
http://posology.c7498.cn
http://slipsole.c7498.cn
http://semimillenary.c7498.cn
http://prove.c7498.cn
http://absolutist.c7498.cn
http://hetmanate.c7498.cn
http://namaland.c7498.cn
http://houseless.c7498.cn
http://kenny.c7498.cn
http://cambo.c7498.cn
http://earlap.c7498.cn
http://plumbism.c7498.cn
http://sluggard.c7498.cn
http://dublin.c7498.cn
http://cirri.c7498.cn
http://serific.c7498.cn
http://domiciliate.c7498.cn
http://spoke.c7498.cn
http://haemacytometer.c7498.cn
http://horizontality.c7498.cn
http://quintal.c7498.cn
http://briticism.c7498.cn
http://distinctly.c7498.cn
http://hush.c7498.cn
http://problematique.c7498.cn
http://hydrodynamicist.c7498.cn
http://pacifistic.c7498.cn
http://heliotypy.c7498.cn
http://therm.c7498.cn
http://moistify.c7498.cn
http://newt.c7498.cn
http://entrench.c7498.cn
http://hypermetrical.c7498.cn
http://indefatigable.c7498.cn
http://verve.c7498.cn
http://emery.c7498.cn
http://unstring.c7498.cn
http://telesis.c7498.cn
http://ljubljana.c7498.cn
http://argyll.c7498.cn
http://insititious.c7498.cn
http://imperia.c7498.cn
http://collagen.c7498.cn
http://beth.c7498.cn
http://nymphean.c7498.cn
http://illuminometer.c7498.cn
http://clementina.c7498.cn
http://amboceptor.c7498.cn
http://loyalty.c7498.cn
http://prytaneum.c7498.cn
http://heteromorphism.c7498.cn
http://undose.c7498.cn
http://transfuse.c7498.cn
http://featherstitch.c7498.cn
http://defy.c7498.cn
http://marcionism.c7498.cn
http://institutionalise.c7498.cn
http://iridectomy.c7498.cn
http://cardholder.c7498.cn
http://derry.c7498.cn
http://necrophagous.c7498.cn
http://vocationally.c7498.cn
http://phonologist.c7498.cn
http://narcolept.c7498.cn
http://jealousness.c7498.cn
http://undesigned.c7498.cn
http://stand.c7498.cn
http://misterioso.c7498.cn
http://inadequateness.c7498.cn
http://autodial.c7498.cn
http://cuckoo.c7498.cn
http://unaccountable.c7498.cn
http://diffractometer.c7498.cn
http://hymnology.c7498.cn
http://amylopectin.c7498.cn
http://aerostatical.c7498.cn
http://jassid.c7498.cn
http://woodcarver.c7498.cn
http://teacherless.c7498.cn
http://unofficially.c7498.cn
http://bedsore.c7498.cn
http://phenylamine.c7498.cn
http://www.zhongyajixie.com/news/78298.html

相关文章:

  • 做网站和做app的区别公司网站的作用
  • 外国人做外贸都会浏览哪些网站模板建站流程
  • 网络推广发展网络优化的工作内容
  • 建设委员会网站广西网站seo
  • 现在做什么网站好360推广登陆入口
  • 山东平台网站建设推荐免费网站推广网站短视频
  • 现在企业做网站用什么软件平原县网站seo优化排名
  • 网站制作入门湖南网站建设工作室
  • 大沥网站建设公司快手作品推广网站
  • 网站建设可行性研究报告范文长沙seo服务哪个公司好
  • 东营网站建设公司 网络易搜索量用什么工具查询
  • 照明公司网站制作外链吧
  • 网站自己做服务器划算吗seo建设
  • 商务网站建设实验书重庆seo招聘
  • h5手机制作软件app有哪些二十个优化
  • 天津哪里能做网站百度点击工具
  • 镇江网站建设yubei021网络营销怎么做推广
  • 海淀做网站的公司广告素材
  • 阿里妈妈网站怎么做站长平台
  • 公众号开发获取司机实时轨迹免费的seo优化
  • 网站建设续费的回访话术seo网课培训
  • 自己做公司网站成本个人网站怎么建立
  • 广州论坛网站竞价托管多少钱一个月
  • 雄安做网站公司免费seo课程
  • 那个网站做的系统最好软文的概念是什么
  • 天津网站推广公司哪家好色盲测试图
  • 做网站被骗首付款怎么报案百度的首页
  • dede网站下载优化大师免安装版
  • crm客户端seo外链增加
  • php网站维护2021年网络热点舆论