- LintCode算法刷题记录(入门 + 简单部分)
隔壁敲代码的小王
算法刷题笔记算法LintCode
由于是初学者,实现的方法都很简单,暂时不考虑效率,之后(可能)会更新1.A+B问题给出两个整数aa和bb,求他们的和。样例如果a=1并且b=2,返回3。挑战显然你可以直接returna+b,但是你是否可以挑战一下不这样做?(不使用++等算数运算符)说明a和b都是32位整数么?是的我可以使用位运算符么?当然可以注意事项你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返
- LintCode第241题转换字符串到整数(容易版),133题最长单词,771题-二阶阶乘
evolution_language
算法新手必刷编程50题数据结构
第241题:转换字符串到整数(容易版)描述给一个字符串,转换为整数。你可以假设这个字符串是一个有效整数的字符串形式,且范围在32位整数之间(-231~231-1)。样例1:输入:"123"输出:123样例解释:返回对应的数字.样例2:输入:"-2"输出:-2样例解释:返回对应的数字,注意负数.代码如下:publicclassSolution{/***@paramtarget:Astring*@re
- LintCode第807题-回文数II
evolution_language
算法数据结构新手必刷编程50题
描述判断一个非负整数n的二进制表示是否为回文数我们保证0=1){intcurrentNum=n%2;stringBuilder.append(currentNum);n=n/2;}stringBuilder.reverse();System.out.println(stringBuilder.toString());intright=stringBuilder.length()-1;intleft
- LintCode第485题-生成给定大小的数组,第220题-冰雹猜想,第235题-分解质因数
evolution_language
算法新手必刷编程50题数据结构
第485题描述给你一个大小size,生成一个元素从1到size的数组样例1:输入:size=4输出:[1,2,3,4]样例解释:返回一个顺序填充1到4的数组。样例2:输入:size=1输出:[1]样例解释:返回一个顺序填充1到1的数组代码如下:publicclassSolution{/***@paramsize:Aninteger*@return:Anintegerlist*/publicList
- LINTCODE————最小划分
kaaokou
周周的C++之路
LINTCODE————最小划分思路:利用背包问题的思路,对数组求和,计为sum,则我们只需要知道dp[sum/2]的分配是否存在就好可,如果不存在,那么我们取dp[sum/2-1]….一直到存在为止,dp[sum/2-i]存在的时候,也就是说明一边分配sum/2-i,一边分配sum-sum/2+i为要求的最小分配,然后就差值就OK了classSolution{public:/**@param:t
- Java 泛型参数问题:‘ResponseData.this‘ cannot be referenced from a static contex
我命由我12345
后端-问题清单java开发语言java-ee后端后端开发intellij-ideaintellijidea
问题与处理策略问题描述@Data@AllArgsConstructor@NoArgsConstructorpublicclassResponseData{privateIntegercode;privateStringmsg;privateTdata;publicstaticfinalintCODE_SUCCESS=2001;publicstaticfinalintCODE_FAIL=3001;p
- LintCode第95题-验证二叉查找树
evolution_language
数据结构算法二叉排序树递归
题目:描述给定一个二叉树,判断它是否是合法的二叉查找树(BST)一棵BST定义为:节点的左子树中的值要严格小于该节点的值。节点的右子树中的值要严格大于该节点的值。左右子树也必须是二叉查找树。一个节点的树也是二叉查找树。样例1:输入:tree={-1}输出:true解释:二叉树如下(仅有一个节点):-1这是二叉查找树。样例2:输入:tree={2,1,4,#,#,3,5}输出:true解释:二叉树如
- LintCode第974题-求矩阵各节点的最短路径(以0为标准)
evolution_language
算法最短路径广度优先搜索
描述给定一个由0和1组成的矩阵,求每个单元格最近的0的距离。两个相邻细胞之间的距离是1。给定矩阵的元素数不超过10,000。在给定的矩阵中至少有一个0。单元格在四个方向上相邻:上,下,左和右。样例例1:输入:[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]输出:[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]例2:输入:[[0,1
- LintCode多关键字排序
evolution_language
数据结构算法多关键字排序
描述给定n个学生的学号(从1到n编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。样例1输入:array=[[2,50],[1,50],[3,100]]输出:[[3,100],[1,50],[2,50]]样例2输入:array=[[2,50],[1,50],[3,50]]输出:[[1,50],[2,50],[3,50]]思路:多关
- JS工程化集锦
项目工具模块化JS模块规范CommonJS·AMD·CMD·UMD·ES6NPM版本NPM版本介绍打包构建polyfill工程化篇-JS兼容方案项目管理LintCodeReview效率工具ESLint方案官方:https://cn.eslint.org/docs/user-guide/configuringairbnb:https://github.com/airbnb/javascriptsta
- LintCode 453. 将二叉树拆成链表
CW不要无聊的风格
题目描述将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的right指针,来表示链表中的next指针。不要忘记将左儿子标记为null,否则你可能会得到空间溢出或是时间溢出。测试样例输入:{1,2,5,3,4,#,6}输出:{1,#,2,#,3,#,4,#,5,#,6}解释:1/\25/\\3461\2\3\4\5\6输入:{1}输出:{1}解释:11解题思路与方法1.Devi
- Lintcode442 Implement Trie solution 题解
程风破浪会有时
【题目描述】Implementatriewithinsert,search,andstartsWithmethods.NoticeYoumayassumethatallinputsareconsistoflowercaselettersa-z.实现一个Trie,包含insert,search,和startsWith这三个方法。注意事项你可以假设所有的输入都是小写字母a-z。【题目链接】www.li
- LintCode 3687 · Check If an Array Is a Valid Sequence (二叉树遍历和分治好题)
纸上得来终觉浅 绝知此事要躬行
leetcode算法
3687·CheckIfanArrayIsaValidSequenceAlgorithmsMediumDescriptionGivenabinarytreewitharootnoderoot,wecallthesequenceofnodevaluesinanypathfromtherootnodetoanyleafnodeisa“validsequence”ofthatbinarytree.Now
- lintcode 55. 比较字符串
cuizixin
难度:容易1.Description55.比较字符串2.Solutionc++classSolution{public:/***@paramA:Astring*@paramB:Astring*@return:ifstringAcontainsallofthecharactersinBreturntrueelsereturnfalse*/boolcompareStrings(string&A,str
- SpringMVC 1.请求参数检查 2.全局异常处理 3.请求参数封装为Pojo
zfoo-framework
#springboothttp
ErrorEnum.java//枚举所有的错误packagecom.example.demo.enums;importlombok.Getter;publicenumErrorEnum{SYSTEM_ERROR(-1,"系统错误"),PARAM_ERROR(-2,"参数错误"),OK(0,"成功"),;@Getterprivatefinalintcode;@GetterprivatefinalSt
- lintcode 31. Partition Array
刘小小gogo
image.pnghttps://www.kancloud.cn/kancloud/data-structure-and-algorithm-notes/72953解法一:**自左向右**容易想到的一个办法是自左向右遍历,使用right保存大于等于k的索引,i则为当前遍历元素的索引,总是保持i>=right,那么最后返回的right即为所求。classSolution{public:/***@pa
- lintcode 40. 用栈实现队列
cuizixin
难度:中等1.Description40.用栈实现队列2.Solutionpython用两个栈,十分巧妙。classMyQueue:def__init__(self):#dointializationifnecessaryself.stack1=[]self.stack2=[]defadjust(self):iflen(self.stack2)==0:whilelen(self.stack1)>0
- Maximum Subarray - Dynamic Programming Way
Star_C
QuesitonfromlintcodeGivenanarrayofintegers,findacontiguoussubarraywhichhasthelargestsum.NoticeThesubarrayshouldcontainatleastonenumber.ExampleGiventhearray[−2,2,−3,4,−1,2,1,−5,3],thecontiguoussubarray
- lintcode192 Wildcard Matching
Anseis
WildcardMatching这题和正则表达式那道题极其相似,不过这里*作用改变了,它自己代表匹配任意字符串的作用首先建立二维booleanarraydp[s.length+1][p.length+1],代表s的第几个字符和p的第几个字符是否达到匹配首先dp[0][0]=true,以及dp[i][0]都为false然后对dp[0][j]进行初始化,可知存在“*”的情况,所以要对这个处理下然后两个
- 全排列 (lintcode:permutations)
v1coder
给定一个数字列表,返回其所有可能的排列。假设没有重复数字。样例:给出一个列表[1,2,3],其全排列为:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]代码:classSolution:"""@param:nums:Alistofintegers.@return:Alistofpermutations."""defpermute(self,nums
- LintCode-30. 插入区间
悠扬前奏
题目描述给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。样例插入区间[2,5]到[[1,2],[5,9]],我们得到[[1,9]]。插入区间[3,4]到[[1,2],[5,9]],我们得到[[1,2],[3,4],[5,9]]。解答思路循环待插入区间,比较每个区间和待插入区间。有三种情况,分别处理。代码
- 【Lintcode】612 k closest points
云端漫步_b5aa
在heap里就要排序,先按d排序,第二是x,第三是y?1维持一个大小为K的max-heap2然后后面每push一个进来,就把最长距离那个pop出去3所以push进heap的值是负的distance,因为到时候可以把最远距离的给pop出去"""Definitionforapoint.classPoint:def__init__(self,a=0,b=0):self.x=aself.y=b"""cla
- lintcode 11. Search Range in Binary Search Tree
刘小小gogo
image.png其实任何一种遍历都可以,只是中序遍历方便于剪枝。中序遍历:本题涉及到二叉查找树的按序输出,应马上联想到二叉树的中序遍历/***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,*right;*TreeNode(intval){*this->val=val;*this->left=this->rig
- 【Lintcode】1507. Shortest Subarray with Sum at Least K
记录算法题解
LC栈队列串及其他数据结构java算法leetcode
题目地址:https://www.lintcode.com/problem/shortest-subarray-with-sum-at-least-k/description给定一个数组AAA,返回其最短的和大于等于给定数KKK的子数组的长度。思路是前缀和+单调队列。参考https://blog.csdn.net/qq_46105170/article/details/109590586。代码如下
- lintcode 9. Fizz Buzz问题
cuizixin
难度:容易1.Description9.FizzBuzz问题2.Solutionpython只让用一个if,但是可以用for呀classSolution:"""@paramn:Aninteger@return:Alistofstrings."""deffizzBuzz(self,n):#writeyourcodehereres=[str(i)foriinrange(1,n+1)]foriinran
- LintCode 1066 · Verify Preorder Serialization of a Binary Tree (二叉树判断好题)
纸上得来终觉浅 绝知此事要躬行
算法
1066·VerifyPreorderSerializationofaBinaryTreeAlgorithmsMediumDescriptionOnewaytoserializeabinarytreeistousepre-ordertraversal.Whenweencounteranon-nullnode,werecordthenode’svalue.Ifitisanullnode,wereco
- LintCode 1534 · Convert Binary Search Tree to Sorted Doubly Linked List (二叉树转双链表好题)
纸上得来终觉浅 绝知此事要躬行
leetcode
1534·ConvertBinarySearchTreetoSortedDoublyLinkedListAlgorithmsMediumDescriptionConvertaBSTtoasortedcirculardoubly-linkedlistin-place.Thinkoftheleftandrightpointersassynonymoustothepreviousandnextpoint
- lintcode 373. 奇偶分割数组
cuizixin
难度:容易1.Description373.奇偶分割数组2.SolutionpythonclassSolution:"""@param:nums:anarrayofintegers@return:nothing"""defpartitionArray(self,nums):#writeyourcodeheren=len(nums)ifn0:#findoddnumright-=1ifleft
- Lintcode-背包问题IX
爱秋刀鱼的猫
题目Youhaveatotalof10*nthousandyuan,hopingtoapplyforauniversityabroad.Theapplicationisrequiredtopayacertainfee.GivethecostofeachuniversityapplicationandtheprobabilityofgettingtheUniversity'soffer,andthe
- 力扣解法汇总1626. 无矛盾的最佳球队
失落夏天
编程题leetcode算法职场和发展
目录链接:力扣编程题-解法汇总_分享+记录-CSDN博客GitHub同步刷题项目:GitHub-September26/java-algorithms:算法题汇总,包含牛客,leetCode,lintCode等网站题目的解法和代码,以及完整的mode类,甚至链表代码生成工具都有提供。原题链接:力扣描述:假设你是球队的经理。对于即将到来的锦标赛,你想组合一支总体得分最高的球队。球队的得分是球队中所有
- jsonp 常用util方法
hw1287789687
jsonpjsonp常用方法jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
- 多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
- Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
- placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
- debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
- SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
- com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
- 用正则删除文本中的html标签
adminjun
javahtml正则表达式去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
- 嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
- Java函数调用方式——按值传递
ayaoxinchao
java按值传递对象基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
- ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
- 与其怨它不如爱它
bijian1013
选择理想职业规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
- 一边时间不够用一边浪费时间
bingyingao
工作时间浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
- 【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
- sudoku slover in Haskell (2)
bookjovi
haskellsudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
- Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
- 读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
- 《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
- 使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
- mysql连接拒绝问题
daizj
mysql登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected]:~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
- Google Chrome 为何打压 H.264
dsjt
applehtml5chromeGoogle
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
- yii 获取控制器名 和方法名
dcj3sjt126com
yiiframework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
- Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
- 高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
- linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
- Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
- 改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
- 300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业免费资源学习课程远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
- 深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发