jerry

Scala map与flatMap

旧巷老猫 提交于 2019-12-07 19:07:01
1. map函数 对集合的每一个元素运用某个函数操作,然后将结果作为一个新的列表返回。 实例1:将列表中每个元素值乘以2 scala> val list1=List(1,2,3,4) list1: List[Int] = List(1, 2, 3, 4) scala> list1.map(_*2) res54: List[Int] = List(2, 4, 6, 8) 另一种写法: scala> list1.map(x=>x*2) res55: List[Int] = List(2, 4, 6, 8) 实例2:分隔字符 scala> val l=List("jack","joe","terry","jerry") l: List[String] = List(jack, joe, terry, jerry) scala> l.map(_.split(" ")) res20: List[Array[String]] = List(Array(jack), Array(joe), Array(terry), Array(jerry)) 2.flatMap 函数 对集合中每个元素运用某个函数操作(每个元素会被映射为0到多个输出元素)后,将结果扁平化组成一个新的集合。 实例1:分隔字符 scala> val l=List("jack","joe","terry","jerry") l:

面向对象编程基础

我的梦境 提交于 2019-12-06 21:19:25
一 编程的分类: 1 分类 1 面向过程编程 以指令为核心:围绕“正在发生什么”进行编写 面向过程:程序= 算法+ 数据结构 面向过程编程:程序具有一系列线性步骤,主体思想是代码作用于数据,以指令为核心,核心是设计算法, 2 面向函数的编程 3 面向对象的编程 2 面向对象编程 面向对象编程--object oriented programming ,简称OOP,把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数 面向过程把函数继续切分称为子函数,来降低系统的复杂度。 面向对象编程(OOP) 程序 = 指令 + 数据/算法 + 数据结构 以数据为核心: 围绕“将影响谁”进行编写 面向对象编程(OOP):围绕数据以及为数据严格定义的接口来组织程序,用数据控制对代码的访问,面向数据,以及能够对这些数据采取的操作进行,代码执行过成,不能跳过数据 面向对象编程的核心概念: 所有编程语言的最终目的都是提供一种抽象方法 在机器模型(“解空间”或“方案空间”)与实际解决问题的问题模型(“问题空间”)之间,程序员必须建立一种联系 将问题空间中的元素以及他们在解空间中的标识物抽象为对象,并允许通过问题来描述问题而不是通过方案来描述问题 可以把实例(某个类的实例)想象成一种新型变量,他保存这数据,但可以对自身数据执行操作,实例可以对自身数据做操作 二 类和实例概念 1 类:

idea Cannot load supported formats: Cannot run pro

时光怂恿深爱的人放手 提交于 2019-12-06 19:12:17
原因,是SVN使用了命令行工具,如果本地没有SVN的命令行工具,则导致出错。 解决办法: 1、安装客户端 http://ncu.dl.sourceforge.net/project/tortoisesvn/1.8.7/Application/TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi http://jaist.dl.sourceforge.net/project/tortoisesvn/1.8.7/Language%20Packs/LanguagePack_1.8.7.25475-x64-zh_CN.msi 注意:安装时候必须选中command line 。。。这个选项。 2、完成后配置IDEA 解决问题 来源: oschina 链接: https://my.oschina.net/u/779083/blog/283220

2012金华现场赛

社会主义新天地 提交于 2019-12-06 13:45:40
传送门 A模拟 只需要对项目a和项目b进行选择 假设此时为t秒,选择项目a和b 如果先选项目a 那么时间为 \(a.a+a.b*t+(a.a+a.b*t+t)*b.b + b.a\) 如果先选项目b 那么时间为 \(b.a+b.b*t+(b.a+b.b*t+t)*a.b+a.a\) 相约之后为 \(a.a*b.b\) 和 \(b,a*a.b\) 那么按照这个排序即可 注意开long long即可 #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <vector> #define ll long long const int maxn = 1e5+5; const int inf = 0x3f3f3f3f; const double eps = 1e-5; const ll mod = 365 * 24 * 60 * 60; using namespace std; struct node{ ll a,b; }e[maxn]; bool cmp(node a,node b){ return a.a * b.b < b.a * a.b; } int main(){ int n; while(~scanf("%d",&n)){ if(n==0)break; for

Hello World, S/4HANA for Customer Management 1.0

梦想的初衷 提交于 2019-12-06 10:10:25
SAP CRM的前世今生 在我之前的微信公众号文章 SAP的这三款CRM解决方案,您能区分清楚么 我曾经提到过我作为成都SAP研究院CRM产品开发团队的一员工作过一段时间。 我向在SAP德国总部工作的德国老前辈们请教SAP CRM最早的版本是何时问世的,得到的答复是 上世纪末本世纪初 。 作为一个PC游戏迷,我联想到了供我领略众多国内外游戏大作的微软操作系统DOS, Windows 95, 98, 2000, Me和XP, 20年转瞬即逝,如今它们已经远离我们的视线了。 再回到我曾经工作的SAP CRM。每当Jerry在SAPGUI里调试着SAP CRM那些Created字段显示为本世纪初的ABAP代码时,脑子里情不自禁地浮现出曹老板和他神作里的千里马形象: * 同样, SAP的这三款CRM解决方案,您能区分清楚么 里也提到了另一款SAP成都研究院的开发团队参与开发的产品: S/4HANA for Customer Management 1.0 今天(2018年2月28日),这款产品终于揭开了TA的神秘面纱 : 在SAP成都研究院开发团队和SAP全球其他部门同事们的共同努力下, S/4HANA for Customer Management 1.0 问世了! SAP CRM On-Premises (下文简称为 SAP CRM )的部分销售和服务功能已经成功集成到了S/4HANA里

sip会话流程以及sip介绍(2)

邮差的信 提交于 2019-12-05 15:07:41
下面我们通过一个简单的场景例子来简单介绍一下 SIP 协议是如何建立、修改和控制多媒体会话的。这个事例介绍 SIP 的基本功能:用户定位、单方请求通信、通过协商会话参数建立会话和解除会话连接。 Tom 和 Jerry 是非常好的伙伴,Tom 现在法国留学,快放暑假了,需要给在美国的伙伴 Jerry 打一个电话确定日程来接机。Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP 电话用户 Jerry。 1. 注册过程 : SIP 会话初始化协议的注册过程是建立用户当前 IP 地址与用户统一资源标识符之间的对应关系。首先,Tom 和 Jerry 的 SIP 应用程序或者硬件设备,需要在网络中注册。当登录 SIP 应用程序或硬件设备时,终端在网络中的注册过程会自动完成。若使用 SIP 应用程序,其已经于网络建立 IP 连接,若是硬件终端设备首先需要与网络建立连接,例如在 GPRS 情况下,终端与网关支持节点之间建立一个专用或通用的信令 PDP 上下文与网络建立连接。之后终端需要知道代理呼叫会话控制功能(P-CSCF)的地址。P-CSCF 是终端向网络中发送所有 SIP 消息的惟一入口。该实体在注册过程中用于 SIP 出站代理,注册完成后服务于所有其他 SIP 信令。该地址可以预先配置,在没有配置的情况下,终端可以在建立的通用或专用 PDP

Python魔术方法

我与影子孤独终老i 提交于 2019-12-05 04:58:51
------------恢复内容开始------------ 特殊属性 __name__:类,函数,方法等的名字。(实例没有) __module__:类定义所在的模块名(test1.py,test2.py就是两个不同的module) __class__:对象或类所属的类 __bases__:类的基类的元组,顺序为它们在基类列表中出现的顺序。 __doc__:类,函数的文档字符串,如果没有则为None __mro__:类的mro,class.mro()返回的结果保存在__mro__中。多继承中,非常重要。 __dict__类或实例的属性,可写的字典。 查看属性 __dir__:返回类或者对象的所有成员名称列表,dir()函数就是调用__dir__()。如果提供__dir_(),则返回属性的列表,否则会尽量从__dict__属性中收集信息。 如果dir(【obj】)参数obj包含方法__dir__(),该方法将被调用。如果参数obj不包含__dir__(),该方法将最大限度的收集参数信息。 dir()对于不同类型的对象具有不同的行为: 如果对象是模块对象,返回的列表包含模块的属性名。 如果对象是类型或者类对象,返回的列表包含类的属性名,及它的基类的属性名。 否则,返回列表包含对象的属性名,它的类的属性名和类的基类的属性名。 #animal.py class Animal: x =

Guava学习笔记:Guava cache

人盡茶涼 提交于 2019-12-04 19:38:27
  缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。   缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自 身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的瓶颈出 现。缓存的作用就是将这些来自不易的数据保存在内存中,当有其他线程或者客户端需要查询相同的数据资源时,直接从缓存的内存块中返回数据,这样不但可以提 高系统的响应时间,同时也可以节省对这些数据的处理流程的资源消耗,整体上来说,系统性能会有大大的提升。   缓存在很多系统和架构中都用广泛的应用,例如:   1.CPU缓存   2.操作系统缓存   3.本地缓存   4.分布式缓存   5.HTTP缓存   6.数据库缓存   等等,可以说在计算机和网络领域,缓存无处不在。可以这么说,只要有硬件性能不对等,涉及到网络传输的地方都会有缓存的身影。   Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,性能好。    Guava Cache有两种创建方式:   1. cacheLoader   2

Guava学习笔记:Immutable(不可变)集合

空扰寡人 提交于 2019-12-04 16:10:23
  不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。   为什么要用immutable对象?immutable对象有以下的优点:     1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象     2.线程安全的:immutable对象在多线程下安全,没有竞态条件     3.不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存 (analysis)     4.可以被使用为一个常量,并且期望在未来也是保持不变的   immutable对象可以很自然地用作常量,因为它们天生就是不可变的对于immutable对象的运用来说,它是一个很好的防御编程(defensive programming)的技术实践。    JDK中实现immutable集合   在JDK中提供了Collections.unmodifiableXXX系列方法来实现不可变集合, 但是存在一些问题,下面我们先看一个具体实例: import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.junit.Test;

jerry

假如想象 提交于 2019-12-04 08:39:59
jerry 题目描述 众所周知,Jerry 鼠是一只非常聪明的老鼠。 Jerry 聪明到它可以计算64 位有符号整形数字的加减法。 现在,Jerry 写下了一个只由非负整数和加减号组成的算式。它想给这个算式添加合法的括号,使得算式的结果最大。这里加减法的运算优先级相同,和我们在日常生活中接触到的一样,当没有括号时,先算左边的,再算右边的。 比如,算式 (1+2)+3-(4-5)+6 ( 1 + 2 ) + 3 − ( 4 − 5 ) + 6 是合法的,但是 )1+2( ) 1 + 2 ( 和 (-)1+2 ( − ) 1 + 2 以及 (1)+2 ( 1 ) + 2 都是不合法的。 输入格式 接下来,共有 T T 组数据,每组的格式如下: 第一行一个整数 n n,代表数字的个数。 接下来一行共 2n-1 2 n − 1 个符号或非负整数,组成一个由空格隔开的算式。 输出格式 一行一个整数,代表添加括号后,算式最大的可能结果。 样例 样例输入1 1 3 5 - 1 - 3 样例输出1 7 样例1说明 5-(1-3) = 7 样例输入2 1 4 1 - 1 - 1 - 3 样例输出2 4 样例2说明 1- (1 - 1 - 3) = 4 样例3 下发了额外的一个大型样例文件。 数据范围与提示 测试点编号 n的范围 特殊性质 1 n \le 3 n ≤ 3 无 2,3 n \le 10