【Java】面试题65:不用加减乘除做加法
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+,-,*,/四则运算符号 思路: 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。 同样我们可以用三步走的方式计算二进制值相加: 5-101,17-10001 第一步:相加各位的值,不算进位,得到10100,二进制每位相加就相当于
【Java】面试题66:构建乘积数组
题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素 B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法 思路: 将计算过程画出来,寻找规律 如上图所示,每行跳过红色数字,黑色数字的乘积就是对应的B[i].那么以红色数字为分割线,左侧数组设为D,右侧设为C,则B= C*D; 则 D[0] = 1; D[i] = D[i-1] * A[i-1]; 从上到下计算 C[len-1] = 1; C[i-1] = C[i]
Java【面试题67】: 把字符串转换成整数
题目:把字符串转换成整数 要求不能使用字符串转整数的库函数。数值为0或者字符串不是一个合法输入的数值则返回0 思路: 需要注意的点: 1.只输入一个符号时怎么处理 2.输入不是数字的其他符号类型时 3.输入的字符串大于整型范围时,考虑溢出 3.空串或者长度为0时 字符’0’对应的ASCII码值是48(转化为int类型); 字符’9’对应的ASCII码值是57 (48+10-1=57); package jianZhiOffer;
/*
* 把字符串转换成整数
* 要求不能使用字符串转整数的
【Java】面试题68:树中两个节点的最低公共祖先
情景一: 假设该树是一棵二叉搜索树: 我们只需从根结点判断,如果二结点与根的左右子树比较一大一小,那么跟结点就是二者最低公共祖先;如果二结点都比左子结点小,向左子树递归进行比较;如果二结点都比右子树结点大,向右子树递归进行比较; public static TreeNode getLastCommonNode(TreeNode pRoot,TreeNode pLeft,
TreeNode pRight) {
TreeNode treeNode = null;
if(pRoot=
大话数据结构--java版
第三章:线性表 https://blog.csdn.net/liuquan0071/article/details/50382885 第四章 栈和队列 栈:https://www.cnblogs.com/ysocean/p/7911910.html 队列:https://www.cnblogs.com/ysocean/p/7921930.html 第五章:树 https://www.cnblogs.com/ysocean/p/8032642.html 红黑树:https://www.cnblo
StackOverFlowEoro和OutOfMemoryError的区别
1、stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。 如果方法的嵌套调用层次太多(如递归调用),随着java栈中的帧的增多,最终导致这个线程的栈中的所有栈帧的大小的总和大于-Xss设置的值,而产生生StackOverflowError溢出异常。 2、outofmemory: 2.1、栈内存溢出 java程序启
Java程序员面试笔试宝典笔记
第四章 JAVA基础知识 4.3 关键字 4.3.1 命名规则 标识符的第一个字符必须是字母,下划线,$ 4.3.3 final,finally,finalize final: 被final修饰的变量不可变(引用不可变,即它只能指向初始时指向的那个对象,而不关心对象内容的变化),被final修饰的变量必须初始化 final方法: 当一个方法修饰为final,该方法不允许被任何子类重写,但子类仍然可以用这个方法 final参数: 这个参数在这个函数内不允许被修改 final类: 此类不能被继承,
1.两数之和--数组,哈希表
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 思路 标签:哈希映射 这道题本身如果通过暴力遍历的话也是很容易解决的,时间复杂度在 O(n2) 由于哈希查找的时间复杂度
DDoS攻击和CC攻击的区别
DDoS攻击相信大家多多少少都听过一点,网络上各种D阔、C阔,天天打这个打那个,到处接单,说自己能打多少流量,打死了就发群上问别人,死了没,死了没??? 那么DDoS攻击的原理到底是什么呢?DDoS全称:分布式拒绝服务,信息安全的三要素——“保密性”、“完整性”和“可用性”中,拒绝服务攻击,针对的目标正是“可用性”。该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。拒绝服务攻击问题一直得不到合理的解决,目前还是世界性难题,究其原因是因为这是由于网络
购买服务器需要注意哪些问题
1.关注服务器硬件配置从服务器的档次来看,服务器大致分为入门级服务器、工作组级服务器、部门级服务器、企业级服务器。从应用层次来看的话,大致分为快速处理型、海量存储型和低价稳定型。比如门户型网站、网络游戏、大型论坛、电子商务等这类网站就要求处理速度快应选择快速处理型这种服务器。视频电影网站、大型新闻网站等要求数据储存量大,访问频繁的要求,像企业网站,普通个人网站等要求对存储要求不高,但对安全性和稳定性却是必须要考虑的因素,选择那一类型的服务器就需要结合网站的属性和预算以及各方面因素来加以考虑了,
网站建设服务器拼租服务器好还是独立服务器好
先来了解一下拼租服务器到底有什么不好 1、不稳定拼租的服务器,往往稳定性不强,有时候网站还会打不开。这些对用户体验都是不好的,都会让用户对企业产生不好的印象。 2、容易被牵连早之前,很多企业都是与其他企业共用服务器的,但是渐渐的不少企业发展,自己的网站经常被封杀或者是排名老是下降。通过追根溯源,结果发现是服务器的其他网站作弊导致自家网站被牵连。因而,一些经济实力不错的企业都改成了用独立服务器。不仅如此个,根据网站制作公司多年的经验,拼租服务器中一旦有网站有违法或者是作弊等行为,排名下降、降权、
Cogent通信公司
Cogent通信公司目前拥有一张覆盖广阔的全光IP-over-DWDM网络,包括连接华盛顿州西雅图和匈牙利布达佩斯,以及连接挪威奥斯陆和佛罗里达州迈阿密的城际光纤链路,总里程达到25000英里,以及里程达到10000英里的城域光网络,直接将1180余栋建筑用225个环网连接起来。 网络的扩展 Schaeffer 介绍说,Cogent将会通过三个途径扩展其现有网络:增加新的路由、增加城域光纤和在已有链路上增加新的波长。仅仅在上个季度,Cogent就在意大利部署了新的路由器,将网络从米兰扩展到威尼
动态IP与静态IP的区别
在互联网上,每一台电脑都拥有自己的ip,往往区分为动态ip和静态ip。很多新手用户往往都可能会混淆动态ip和静态ip的概念。那么,它们之间到底有哪些区别呢? 1、静态ip:在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为ip地址。通过ip就可以访问到每一台主机。ip由4部分数字组成,每部分数字对应于8位二进制数字,各部分之间用小数点分开。 2、固定ip:固定ip是长期固定分配给一台计算机使用的ip,一般是特殊的服务器才拥有固定ip。 3、动态ip
今日推荐
周排行