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

高端h5网站开发营销方法有哪些

高端h5网站开发,营销方法有哪些,wordpress 审查元素background 修改,网站开发所需人员前缀和 一.一维前缀和(模板):1.思路一:暴力解法2.思路二:前缀和思路 二. 二维前缀和(模板):1.思路一:构造前缀和数组 三.寻找数组的中心下标:1.思路一:前缀和 四.除自身以外数组的乘积&#xff…

前缀和

  • 一.一维前缀和(模板):
    • 1.思路一:暴力解法
    • 2.思路二:前缀和思路
  • 二. 二维前缀和(模板):
    • 1.思路一:构造前缀和数组
  • 三.寻找数组的中心下标:
    • 1.思路一:前缀和
  • 四.除自身以外数组的乘积:
    • 1.思路一:暴力解法
    • 2.思路二:前缀积+后缀积
  • 五.和为K的子数组:
    • 1.思路一:前缀和+哈希
  • 六.前缀和可以被K整除的子数组:
    • 1.思路一:前缀和+哈希
  • 七.连续数组:
    • 1.思路一:
  • 八.矩阵区域和:
    • 1.思路一:二维前缀和模板+细节处理

一.一维前缀和(模板):

请添加图片描述
一维前缀和

1.思路一:暴力解法

1.输入数组长度n和查询次数q。
2.使用一个一维数组保存数据。
3.使用一个循环获取q次需要查询范围的数据。
4.遍历r-l+1次进行一个范围求和然后输出。
5.时间复杂度:O(n^2)
6.通过不了所有的测试用例。

2.思路二:前缀和思路

1.输入数组长度n和查询次数q。
2.使用一个一维数组保存数据。
3.构建一个前缀和的一个数组。
在这里插入图片描述
4.使用一个循环获取q次需要查询范围的数据。
5.时间复杂度:O(n^2)
6.通过不了所有的测试用例。

#include <iostream>
#include <vector>
using namespace std;int main()
{//1.输入数组长度和查询次数: int n =0,q=0;cin>>n>>q;//2.输入数组数据:vector<int> arr(n+1);for(int i=1;i<=n;i++) cin>>arr[i];//3.前缀和数组:vector<long long> bp(n+1);for(int i=1;i<=n;i++) bp[i] = bp[i-1] + arr[i];//4.计算和:int i=0,r=0;while(q!=0){cin>>i>>r;cout<<(bp[r] - bp[i-1])<<endl;q--;}
}

二. 二维前缀和(模板):

请添加图片描述
二维前缀和

1.思路一:构造前缀和数组

在这里插入图片描述

#include <iostream>
#include <vector>
using namespace std;int main()
{//1.n行m列的一个二维数组:int n = 0, m = 0, q = 0;cin >> n >> m >> q;//2.数组输入数据:vector<vector<int>> vv((n + 1),vector<int>(m+1));for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++)cin >> vv[i][j];}//3.创造二维的求和dp数组vector<vector<long long>> dp((n + 1), vector<long long>(m + 1));for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){dp[i][j] = ((dp[i][j - 1] + dp[i - 1][j]) - dp[i-1][j-1]) + vv[i][j];}}//4.数据查询:while (q != 0){int x1 = 0, y1 = 0, x2 = 0, y2 = 0;cin >> x1 >> y1 >> x2 >> y2;cout << (dp[x2][y2] - (dp[x1 - 1][y2] + dp[x2][y1-1]) + dp[x1-1][y1-1]) << endl;q--;}}

三.寻找数组的中心下标:

在这里插入图片描述

寻找数组的中心下标

1.思路一:前缀和

在这里插入图片描述

class Solution {
public:int pivotIndex(vector<int>& nums) {//1.构建前缀和数组:int n = nums.size();vector<int> dp(n+1);//2.前缀和数组值遍历:for(int i = 1 ; i<=n;i++) dp[i] = dp[i-1] + nums[i-1];//3.进行中心下标的寻找:int mid = -1;for(int i=1 ; i <= n ; i++){if((dp[i-1] - dp[0]) == (dp[n] - dp[i])){mid = i-1;break;}}//4.没有中心下标的情况:return (mid == -1? -1:mid);}
};

四.除自身以外数组的乘积:

在这里插入图片描述

除自身以外数组的乘积

1.思路一:暴力解法

在这里插入图片描述

2.思路二:前缀积+后缀积

在这里插入图片描述

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {//1.前缀积+后缀积int n = nums.size();vector<int> left(n + 1, 1);vector<int> right(n + 1, 1);//2.遍历确定前缀积+后缀积的值:for (int i = 1; i <= n; i++) left[i] = left[i - 1] * nums[i - 1];for (int i = n - 1; i >= 0; i--) right[i] = right[i + 1] * nums[i];// 1  1  2  6  24// 24 24 12 4  1// 0  1  2  3  4//0   1   2  3//24  12  8  6vector<int> ret(n);//3.遍历ret数组并且赋值for (int i = 0; i < n; i++){ret[i] = left[i] * right[i+1];}return ret;}
};

五.和为K的子数组:

在这里插入图片描述

和为K的子数组

1.思路一:前缀和+哈希

在这里插入图片描述

class Solution {
public:int subarraySum(vector<int>& nums, int k) {unordered_map<int,int> hash;hash[0]=1;int sum = 0 , ret = 0;for(auto n : nums){sum+=n;if(hash.count(sum-k)) ret+=hash[sum-k];hash[sum]++;}return ret;}
};

六.前缀和可以被K整除的子数组:

在这里插入图片描述

前缀和可以被K整除的子数组

1.思路一:前缀和+哈希

在这里插入图片描述

class Solution {
public:int subarraysDivByK(vector<int>& nums, int k) {unordered_map<int,int> hash;hash[0] = 1;//1.开始遍历+判断int sum = 0 , ret = 0;for(auto a : nums){sum+=a;int n = (sum%k + k) % k;if(hash.count(n)) ret+=hash[n];hash[n]++;}return ret;}
};

七.连续数组:

请添加图片描述

连续数组

1.思路一:

在这里插入图片描述

在这里插入图片描述

class Solution {
public:int findMaxLength(vector<int>& nums) {vector<int> nums_1(nums);for(auto& n:nums_1){if(n==0) n = -1;}//2.hash+前缀和的思路unordered_map<int,int> hash;//1.前缀和为0的下标处理:hash[0] = -1;int sum = 0,ret = 0;for(int i=0;i<nums.size();i++){sum+=nums_1[i];if(hash.count(sum)) ret = max(ret , i - hash[sum]);else hash[sum] = i;}return ret;}
};

八.矩阵区域和:

请添加图片描述

矩阵区域和

1.思路一:二维前缀和模板+细节处理

在这里插入图片描述

class Solution {
public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {int m = mat.size();int n = mat[0].size();//1.创建(m+1) * (n+1) 大小的二维数组vector<vector<int>> dp(m+1 , vector<int>(n+1));//2.dp数组赋值:for(int i=1 ; i<=m ; i++){for(int j=1 ; j<=n ; j++){dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1] + mat[i-1][j-1];}}//3.使用dp数组并且考虑i-k 和 j-k的越界问题:vector<vector<int>> ret(m,vector<int>(n));for(int i=0 ; i<m ; i++){for(int j=0 ; j<n ; j++){int x1 = max(0, i - k) + 1, y1 = max(0, j - k) + 1;int x2 = min(m - 1, i + k) + 1, y2 = min(n - 1, j + k) + 1;ret[i][j] = dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] +dp[x1 - 1][y1 - 1];}}return ret;}
};
http://www.mmbaike.com/news/109400.html

相关文章:

  • 西安市社交网站制作公司网络整合营销方案
  • 微信公众号微网站制作泰州seo外包公司
  • 国外的新闻网站app关键词seo排名怎么选
  • 做外贸需要网站百度官网首页入口
  • 好网站建设公司收费搜索引擎排名的三大指标
  • 如何创建微信公众号免费seo数据是什么意思
  • 做网站公众号多少钱百度在线客服人工服务
  • 沧州市网络科技有限公司seo刷关键词排名优化
  • 移动的网络网站建设温州seo
  • 好的高端网站seo优化排名推广
  • 微网站开发 mui框架站长工具站长之家官网
  • 购物类网站建设方案网站关键词优化技巧
  • 聊城网站推广怎么做百度小说搜索风云排行榜
  • 长沙景点推荐山东搜索引擎优化
  • 免费php网站seo搜索引擎招聘
  • 云主机如何建网站网站免费软件
  • 怎样免费建立网站重庆seo1
  • 网站怎么设置为可信任网站备案域名查询
  • 域名与空间购买后怎么做网站青岛网站建设有限公司
  • 给别人做网站的销售叫什么软件营销推广文案
  • 全企网建站怎么样app软件推广怎么做
  • 做招聘网站经营范围天津seo关键词排名优化
  • 大会的网站架构百度网盘登录入口官网
  • 网站改版 百度收录数据统计网站有哪些
  • 郑州手工网站建设网站源码平台
  • 怎样将自己做的网站给别人看百度贴吧的互动社区
  • 在市政府门户网站建设百度seo关键词排名价格
  • 网站优化关键词公司客户引流的最快方法是什么
  • 做导航网站赚钱注册域名在哪里注册
  • 在什么网站能帮人做ppt关键字c语言