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

烟台有哪些网站建站推广公司云凡济南网站建设开发

烟台有哪些网站建站推广公司,云凡济南网站建设开发,有域名在本机上做网站,网站广告的图片怎么做lc525把数组里的0换成-1&#xff0c;求子数组和为零的最长长度用哈希表记录前缀和首次出现的位置通过找相同前缀和的位置差得出最长的0和1数量相等的子数组长度。class Solution { public:int findMaxLength(vector<int>& nums) {unordered_map<int,int>hashta…

 

lc525

把数组里的0换成-1,求子数组和为零的最长长度

 

用哈希表记录前缀和首次出现的位置

通过找相同前缀和的位置差

得出最长的0和1数量相等的子数组长度。

class Solution {
public:
int findMaxLength(vector<int>& nums) {
unordered_map<int,int>hashtable;
int sum=0,ans=0;
hashtable[0]=-1;


for(int i=0; i<nums.size(); i++){
if(nums[i]==0)
nums[i]=-1;
sum+=nums[i];

if(hashtable.find(sum)!=hashtable.end())
ans=max(ans,i-hashtable[sum]);
else
hashtable[sum]=i;    

        }
return ans;
}
};

 

 

lc2779

差分计数

class Solution {
public:
int maximumBeauty(vector<int>& nums, int k) {
int minVal = *min_element(nums.begin(), nums.end());
int maxVal = *max_element(nums.begin(), nums.end());
int offset = minVal - k;


int len = (maxVal + k)+ 2;
vector<int> diff(len, 0);


for (int n : nums) {
int l = max(0, n - k);
int r = n + k + 1; // +1是差分数组的区间结束处理
diff[l]++;
diff[r]--;

}

int ret = 0, cnt = 0;
for (int d : diff) {
cnt += d;
ret = max(ret, cnt);
}

return ret;
}
};

埃氏筛

探索宇宙universe

 

void init = []() {

    np[1] = true;

    for (int i = 2; i * i <= MX; i++) {

        if (!np[i]) {

            for (int j = i * i; j <= MX; j += i) {

                np[j] = true;

            }

        }

    }();

lc2867

埃氏筛 + 图的遍历

 

实现统计满足特定条件(路径关联质数节点)的路径数量:

1. 埃氏筛初始化:

用匿名函数(C++ lambda 结合立即调用  init ),标记  1~1e5  内非质数,为后续判断节点是否为质数做准备。


2. 图处理逻辑:

构建图结构,通过  dfs  遍历图,统计以质数节点为“枢纽”的连通块信息(非质数节点数量),结合数学计算,统计满足路径要求(路径关键节点为质数)的总路径数 

 const int MX = 1e5;

bool np[MX + 1]; // 质数=false 非质数=true

int init = []() {

    np[1] = true;

    for (int i = 2; i * i <= MX; i++) {

        if (!np[i]) {

            for (int j = i * i; j <= MX; j += i) {

                np[j] = true;

            }

        }

    }

    return 0;

}();

 

class Solution {

public:

    long long countPaths(int n, vector<vector<int>> &edges) {

        vector<vector<int>> g(n + 1);

        for (auto &e: edges) {

            int x = e[0], y = e[1];

            g[x].push_back(y);

            g[y].push_back(x);

        }

 

        vector<int> size(n + 1);

        vector<int> nodes;

        function<void(int, int)> dfs = [&](int x, int fa) {

            nodes.push_back(x);

            for (int y: g[x]) {

                if (y != fa && np[y]) {

                    dfs(y, x);

                }

            }

        };

 

        long long ans = 0;

        for (int x = 1; x <= n; x++)

{

            if (np[x]) continue; // 跳过非质数

            int sum = 0;

            for (int y: g[x]) { // 质数 x 把这棵树分成了若干个连通块

                if (!np[y]) continue;

 

                if (size[y] == 0) { // 尚未计算过

                    nodes.clear();

                    dfs(y, -1); // 遍历 y 所在连通块,在不经过质数的前提下,统计有多少个非质数

                    for (int z: nodes) {

                        size[z] = nodes.size();

                    }

                }

 

                // 这 size[y] 个非质数与之前遍历到的 sum 个非质数,两两之间的路径只包含质数 x

                ans += (long long) size[y] * sum;

                sum += size[y];

            }

            ans += sum; // 从 x 出发的路径

        }

        return ans;

    }

};

 

 

lambda函数调用

埃氏筛部分  函数的调用方式

 C++ lambda 函数, ()  是立即调用语法,属于匿名函数的即时执行场景

 

http://www.dtcms.com/a/506569.html

相关文章:

  • 货运 东莞网站建设装修网站建设案例
  • 本地顺德网站建设上海网站设计价
  • 找外包做网站不给代码网站建设投标书免费
  • 南阳网站制作价格女性logo大全图片
  • 昆明pc网站建设电子商务seo是什么
  • 网站开发合同变更平台搭建是什么
  • 专业的网站建设案例百度小说风云榜总榜
  • 梦创义网站建设公司鹤峰网站制作
  • 百度品牌网站建设网站换一个图片怎么做
  • 珠海的网站建设公众平台登录官网
  • 企业网站建设代理城乡建设部网站首页上海
  • 做网站还是小程序模板网官网
  • 垂直网站建设方案网站建设代理平台怎么做
  • 重庆潼南网站建设建设茶网站目的
  • 网站挂服务器后图片不显示服装品牌策划方案
  • 网站首页引导页二维码生成器官网
  • wordpress 网站静态页面去长沙旅游攻略及费用
  • 印尼建设银行网站手机图片生成网页链接
  • 甘肃肃第八建设集团网站视频教学网站开发需求分析
  • 长沙企业建站程序wordpress仿百度搜索主题
  • 长沙住房和城乡建设部网站安徽建设工程信息网官网优秀中项网
  • 网站外包项目青岛网站开发公司
  • 做网站的公司哪里好延庆精神文明建设的门户网站
  • 佛山网站建设推广服务如何在网上推广二维码
  • 在门户网站做产品seo如何自己建设淘宝网站首页
  • 台州做网站哪家好黑龙江建设厅网站官网
  • 网站的设计需要什么电商平台有哪些软件
  • 微网站预览百度知道app
  • 怎么搞到网站做网站从哪方面入门
  • wordpress redis插件优化设计数学