草庐IT

pair_sum_even_count

全部标签

前缀和与差分prefix_sum and difference

前缀和与差分笔记&模板前缀和与差分prefix_sumanddifference-唔知叫咩emm-博客园(cnblogs.com)不适合做代码笔记,复习主要是复习思路,要看就看模板题常用代码模板1——基础算法-AcWing注意:左留一个0,避免分类讨论注意:初始化数组大小,记得+1简介前缀和是一种重要的预处理,能大大降低查询的时间复杂度前缀和数列的前n项的和差分差分是一种和前缀和相对的策略,可以当做是求和的逆运算。差分数组的前缀和数组是原数组应用场景,关键词区间信息维护与查询视频教程STUACM-算法入门-前缀和与差分(含二维)_哔哩哔哩_bilibili有点长,不太推荐,找个模板题看看题解就

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/partition-equal-subset-sum给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:11二、解题思路设所有数字和为sum,我们的目标是选取一个子数组,使它的总和为sum/2,定义二维boolean数组dp[i][j],其意义是使

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/partition-equal-subset-sum给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:11二、解题思路设所有数字和为sum,我们的目标是选取一个子数组,使它的总和为sum/2,定义二维boolean数组dp[i][j],其意义是使

leetcode 64. Minimum Path Sum 最小路径和(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/minimum-path-sum给定一个包含非负整数的m x n 网格 grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[i].length10二、解题思路二维的动态规则,定义一个二维dp数组,其中dp[i][j]

leetcode 64. Minimum Path Sum 最小路径和(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/minimum-path-sum给定一个包含非负整数的m x n 网格 grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2:输入:grid=[[1,2,3],[4,5,6]]输出:12提示:m==grid.lengthn==grid[i].length10二、解题思路二维的动态规则,定义一个二维dp数组,其中dp[i][j]

大家都在用MySQL count(*)统计总数,到底有什么问题?

在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总数、统计用户总数等。一般我们会使用MySQL的count函数进行统计,但是随着数据量逐渐增大,统计耗时也越来越长,最后竟然出现慢查询的情况,这究竟是什么原因呢?本篇文章带你一下学习一下。1.MyISAM存储引擎计数为什么这么快?我们总有个错觉,就是感觉MyISAM引擎的count计数要比InnoDB引擎更快,实际这不是错觉。MyISAM引擎把表的总行数单独记录在磁盘上,查询的时候可以直接返回,不需要再累加统计。但是当SQL查询中有where条件的时候,就无法再使用表的总行数了,还是需要乖乖的进行累加统计,查询性能也就跟InnoD

大家都在用MySQL count(*)统计总数,到底有什么问题?

在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总数、统计用户总数等。一般我们会使用MySQL的count函数进行统计,但是随着数据量逐渐增大,统计耗时也越来越长,最后竟然出现慢查询的情况,这究竟是什么原因呢?本篇文章带你一下学习一下。1.MyISAM存储引擎计数为什么这么快?我们总有个错觉,就是感觉MyISAM引擎的count计数要比InnoDB引擎更快,实际这不是错觉。MyISAM引擎把表的总行数单独记录在磁盘上,查询的时候可以直接返回,不需要再累加统计。但是当SQL查询中有where条件的时候,就无法再使用表的总行数了,还是需要乖乖的进行累加统计,查询性能也就跟InnoD

Spark:单词计数(Word Count)的MapReduce实现(Java/Python)

1导引我们在博客《Hadoop:单词计数(WordCount)的MapReduce实现》中学习了如何用Hadoop-MapReduce实现单词计数,现在我们来看如何用Spark来实现同样的功能。2.Spark的MapReudce原理Spark框架也是MapReduce-like模型,采用“分治-聚合”策略来对数据分布进行分布并行处理。不过该框架相比Hadoop-MapReduce,具有以下两个特点:对大数据处理框架的输入/输出,中间数据进行建模,将这些数据抽象为统一的数据结构命名为弹性分布式数据集(ResilientDistributedDataset),并在此数据结构上构建了一系列通用的数据

Spark:单词计数(Word Count)的MapReduce实现(Java/Python)

1导引我们在博客《Hadoop:单词计数(WordCount)的MapReduce实现》中学习了如何用Hadoop-MapReduce实现单词计数,现在我们来看如何用Spark来实现同样的功能。2.Spark的MapReudce原理Spark框架也是MapReduce-like模型,采用“分治-聚合”策略来对数据分布进行分布并行处理。不过该框架相比Hadoop-MapReduce,具有以下两个特点:对大数据处理框架的输入/输出,中间数据进行建模,将这些数据抽象为统一的数据结构命名为弹性分布式数据集(ResilientDistributedDataset),并在此数据结构上构建了一系列通用的数据

Hadoop:单词计数(Word Count)的MapReduce实现

1.Map与Reduce过程1.1Map过程首先,Hadoop会把输入数据划分成等长的输入分片(inputsplit)或分片发送到MapReduce。Hadoop为每个分片创建一个map任务,由它来运行用户自定义的map函数以分析每个分片中的记录。在我们的单词计数例子中,输入是多个文件,一般一个文件对应一个分片,如果文件太大则会划分为多个分片。map函数的输入以形式做为输入,value为文件的每一行,key为该行在文件中的偏移量(一般我们会忽视)。这里map函数起到的作用为将每一行进行分词为多个word,并在context中写入以代表该单词出现一次。map过程的示意图如下:mapper代码编写