Stream 02

Streams API(II) 上一节介绍了部分Stream常见接口方法,理解起来并不困难,但Stream的用法不止于此,本节我们将仍然以Stream为例,介绍流的规约操作。 规约操作(reduction operation)又被称作折叠操作(fold),是通过某个连接动作将所有元素汇总成一个汇总结果的过程。元素求和、求最大值或最小值、求出元素总个数、将所有元素转换成一个列表或集合,都属于规约操作。Stream类库有两个通用的规约操作reduce()和collect(),也有一些为简化书写而设
分类: 其他 发布时间: 02-22 23:52 阅读次数: 0

Stream 03

Stream Pipelines 前面我们已经学会如何使用Stream API,用起来真的很爽,但简洁的方法下面似乎隐藏着无尽的秘密,如此强大的API是如何实现的呢?比如Pipeline是怎么执行的,每次方法调用都会导致一次迭代吗?自动并行又是怎么做到的,线程个数是多少?本节我们学习Stream流水线的原理,这是Stream实现的关键所在。 首先回顾一下容器执行Lambda表达式的方式,以ArrayList.forEach()方法为例,具体代码如下: // ArrayList.forEach
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

Stream 性能

Stream Performance 已经对Stream API的用法鼓吹够多了,用起简洁直观,但性能到底怎么样呢?会不会有很高的性能损失?本节我们对Stream API的性能一探究竟。 为保证测试结果真实可信,我们将JVM运行在-server模式下,测试数据在GB量级,测试机器采用常见的商用服务器,配置如下: OS CentOS 6.7 x86_64 CPU Intel Xeon X5675, 12M Cache 3.06 GHz, 6 Cores 12 Threads 内存 96GB JD
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

CF568E Longest Increasing Subsequence

先留个坑,输出方案的地方还得再想想 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #include<stack> #include<queue> using namespace std; typedef long long ll; const int maxn = 100010; const int INF = 1e9+7; int n,m,len,cnt;
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

[98]验证二叉搜索树&[105]从前序与中序遍历序列构造二叉树

扯闲话时间。。。很长一段时间没有刷题了,因为工作做得一团糟,惨遭领导怒批,心理压力大得一批导致工作时间特别长又没产出,所以刷题就搁置了。。。 (小声BB)其实感觉领导有点刀子嘴豆腐心,一面说着“公司没义务从零培养新人,我自己也很久不带新人了”,一面又给我讲了好多基础知识。。。 好了,言归正传,今天分享两道题,同类型的,力扣(leetcode中国)给的标签都是深度优先搜索,但是我都没想出来怎么用深度优先,所以都采用了递归。 这里提一句,曾经有位前辈和我说实际工作中递归并不常用,因为递归长度过长的
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

php多进程pcntl学习-僵尸进程 php多进程pcntl学习(一)

 上个月写的文章,php多进程pcntl学习(一)现在发现并不完整,因为虽然提到了关闭子进程,但是并没有回收子进程,简单的说就是当子进程比父进程先退出,而父进程没对其做任何处理的时候,子进程将会变成僵尸进程。 <?php $ppid = getmygid(); $pid = pcntl_fork(); if ($pid == -1){ die('fork failed'); }else if($pid == 0){ $mypid = getmygid(); echo 'I am child p
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

Contest1692 - 2019寒假集训第三十一场 UPC 11075 Problem D 小P的国际象棋

非常简单的单点修改+区间加+区间查询。我用的是最近刚学的区间修改版本树状数组。 直接维护即可,注意修改后的单点值已经不是a[i],或者b[i],要通过区间查询求单点。不然是错的。 区间修改版本树状数组: #include<iostream> #include<string.h> #include<stdio.h> #include<algorithm> #define LL long long using namespace std; LL c_p[400005]; LL sum
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

笔试面试目前遇到常见的问题:tip/ip的建立过程

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTAB
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

Git学习笔记2,GitHub常用命令

廖雪峰Git教程 莫烦Git教程 莫烦Git视频教程 文件三个状态,add之后从工作区(原始状态)到暂存区,commit之后从暂存区到版本库 工作区 暂存区 版本库 unstage stage master 删除文件 > git rm test.txt > git commit -m "remove test.txt" 修改或添加文件 > git add test.txt > git commit -m "add test.txt" reset 所有文件 恢复到指定版本 > git reflo
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

记账APP(5)

今天做了成品,也在抖音上发了视频 目前会的只是一点点都算不上,离入门还远,所以,加油吧,小子
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

SCUT - 290 - PARCO的因数游戏 - 博弈论

https://scut.online/p/290 一个 N 个数的取数游戏,Kaildls 和 Parco 轮流操作,每次操作从 N 个数中取一个数 y 并把他变成 y-x(满足 x | y 且x < y),无法操作的人输。 假设 Kaildls 先手且两人都是用最优策略,请问最后谁会赢? 第一次学SG函数,要找的是每次能从石子堆中取走的数目,记录下来。 最后的Nim和为0是后手赢? #include<bits/stdc++.h> using namespace std; #define l
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

oc总结

oc总结: 类: @interface Person:NSObject{ //成员变量 @protected @private @public } @property(nonatomic,copy)(NSString*)name; -(void)test; +(void)test2; -(void)test3:(int )a; -(void)test4:(int )a andname:(NSString*)name; -(instancetype)initWithname:(NSStri
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

P2597 [ZJOI2012]灾难 拓扑排序

这个题有点意思,正常写法肯定会T,然后需要优化。先用拓扑排序重构一遍树,然后进行一个非常神奇的操作:把每个点放在他的食物的lca上,然后计算的时候直接dfs全加上就行了。为什么呢,因为假如你的食物的lca死了,你就很自然的死了。这个题还要加一个超级源点,一开始我没加只拿了20分。但是不知道为什么,后来想到有可能一个兄弟能吃两个生产者,在查询lca的时候会跪。。。剩下就没啥了,顺便练一下倍增求lca。 题干: 题目描述 阿米巴是小强的好朋友。 阿米巴和小强在草原上捉蚂蚱。小强突然想,
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

网站设置ico图标

1、用设计的png图片去在线图标网站上生成一个16*16大小的图标,命名favcon.ico放置到网站根目录下 如:http://www.faviconico.org/favicon 2、添加代码 <link rel="shortcut icon" href="/favicon.ico" /> <link rel="bookmark"href="/favicon.ico" />
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

线段树区间修改版本模板

#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int sum1[1000]; int sum2[1000]; int a[1000]; int n,m; int lowbit(int x){ return x&(-x); } void update(int x,int w){//更新效果:把x位置后面所有的数的值+w
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

[HNOI2015]开店 树链剖分,主席树

[HNOI2015]开店 LG传送门 蒟蒻表示不会动态淀粉质。 先把点按年龄排序, 设\(dis[i]\)表示\(i\)到根的距离。 把我们要算的东西稍微变下形:\(ans\) \[ = \sum \limits _{i = l} ^r (dis[i] + dis[u] - 2 * dis[lca(i, u)]\] \[ = \sum \limits _{i = l} ^r dis[i] + (r - l + 1) * dis[u] - 2 * \sum \limits _{i = l} ^r
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

Codeforces 715B. Complete The Graph 最短路,Dijkstra,构造

原文链接https://www.cnblogs.com/zhouzhendong/p/CF715B.html 题解 接下来说的“边”都指代“边权未知的边”。 将所有边都设为 L+1,如果dis(S,T) < L ,那么必然无解。 将所有边都设为 1 ,如果 dis(S,T) > L ,那么必然无解。 考虑将任意一条边的权值+1,则 dis(S,T) 会 +0 或者 +1 。 如果将所有边按照某一个顺序不断+1,直到所有边的权值都是L+1了,那么在这个过程中,dis(S,T) 是递增的,而且一定
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

18_1

一、收获: 1.qsort函数对数组、结构体等进行排序 #include <stdlib.h>//必须用stdlib.h,没用.h不用namespace不行 参数:1待排序数组首地址 2数组中待排序元素数量 3各元素的占用空间大小 4指向函数的指针,用于确定排序的顺序 eg: (1)重写cmp,固定参数,变化的只是比较内容 int cmp(const void *a,const void *b){ return (*(XianDuan*)b).xd_num - (*(XianDuan*)a).
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

爬虫----初级概念的架构

每次遇到爬虫,总会听到python,php等等词,其实什么语言无所谓,只要会用就行了。当然,有些人听到爬虫,就会觉得很高级,还在写网站的时候就在想反扒技术什么的,搞得爬虫变成了一个神秘莫测的东西。然而,我想告诉你的是爬虫真的很简单,几分钟搞定它的基本架构,下面请跟我来。 首先,爬虫要做的事情是将获取网页信息,并且将信息保存在一个地方等待被调用。因此爬虫的架构宏观上就有三部分: 网页---》爬虫处理---》保存; 只要将这三个部分处理好了,爬虫也就会了。(基于python语言) 然而,从网页上获
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0

练习1-2

定义并测试一个代表员工的类,员工属性由编号 姓名 基本薪水 和薪水增长率组成,设计求总工资的方法 package test1; class Employee{ private int number; private String name; private double salary; private double growth; //定义增长额 public Employee(int number,String name,double sala
分类: 其他 发布时间: 02-22 23:51 阅读次数: 0