E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《程序员面试金典》题目解析
最小的K个数(剑指offer-29)
题目解析
大小为K的最小堆复杂度:O(NlogK)+O(K),特别适合处理海量数据。应该使用大顶堆来维护最小堆,而不能直接创建一个小顶堆并设置一个大小,企图让小顶堆中的元素都是最小元素。
10000_Hours
·
2020-07-06 10:00
数组中出现次数超过一半的数字(剑指offer-28)
题目解析
1用Map去得到每一个数字出现的次数,最后找到出现次数最大的那个数字。题目解答1importjava.util.*;publicclassA02{publicintMoreT
10000_Hours
·
2020-07-06 10:00
字符串的排列(剑指offer-27)
题目解析
首先确定一个初始位置,然后通过递归去查找每一个位置的字符可能出现情况。比如说现在要找index下标位置的字符,那么体现在代码中就是
10000_Hours
·
2020-07-06 09:00
Python语言程序设计 嵩天老师 慕课第一周练习
题目解析
一.单项选择1.GuidovanRossum正式对外发布Python版本的年份是:A2002B1998C1991D2008正确答案CPython成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动
遗乐同学
·
2020-07-06 06:24
Python小白的学习之路
Lintcode223 Palindrome Linked List solution 题解
【题目链接】www.lintcode.com/en/problem/palindrome-linked-list/【
题目解析
】假设一个链表是回文,那么把链表分割为1…n/2,n/2+1…n两个部分,这两个部分肯定是相同的
程风破浪会有时
·
2020-07-06 05:05
Lintcode104 Merge k Sorted Lists solution 题解
【题目链接】www.lintcode.com/en/problem/merge-k-sorted-lists/【
题目解析
】每次求最小值的k个元素其实在两次求
程风破浪会有时
·
2020-07-06 03:53
《
程序员面试金典
》题解
程序员面试金典
-渐进式题解本题解意在提供每道题目从小白能想到的方法,逐步到(近乎)最优方法,并且一一给出代码。欢迎讨论和指出错误。
weixin_34197488
·
2020-07-06 00:00
OCP-1Z0-051-
题目解析
-第3题
3.YouneedtoextractdetailsofthoseproductsintheSALEStablewherethePROD_IDcolumncontainsthestring'_D123'.WhichWHEREclausecouldbeusedintheSELECTstatementtogettherequiredoutput?A.WHEREprod_idLIKE'%_D123%'ES
weixin_30954607
·
2020-07-05 22:38
Computer Networking 二单元检测题
SMTPB、TCPC、FTPD、HTTP答案:B2、DNSrunsontopof()andusestheportnumber53.A、UDPB、HTTPC、TCPD、noneoftheabove答案:A
题目解析
weixin_30883311
·
2020-07-05 22:05
PAT乙:1020 月饼(贪心)
题目解析
+AC代码
原题传送门:https://pintia.cn/problem-sets/994805260223102976/problems/994805301562163200题目描述1020月饼(25分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出
Yu_Men_HZ
·
2020-07-05 17:03
PAT
贪心
nyoj19(擅长排列的小明)
pid=19
题目解析
:先生成排列数,然后进行深搜。代码如下:01.#include02.
0_250
·
2020-07-05 17:26
深搜
JZ10 -矩形覆盖问题(JS)
比如n=3时,23的矩形块有3种覆盖方法:
题目解析
:当n=n,可以分为两种情况来讨论,(1)第一次用一个21的小矩形作为第一个格,那么剩下2(n-1)个矩形等待填充。
Kang+丶
·
2020-07-05 10:49
JZoffer
JZ13 -调整数组数值顺序(JS)
题目解析
:functionreOrderArray(array){//设置两个数组分别用来存储偶数和奇数varnewArr1=[];varnewArr2=[];for(vari=0;i
Kang+丶
·
2020-07-05 10:18
JZoffer
JZ09 -变态跳台阶问题(JS)
题目解析
F(n)=F(n-1)+F(n-2)+F(n-3)+F(n-4)+…+F(2)+F(1)F(n-1)=F(n-2)+F(n-3)+F(n-4)+…+F(2)+F(1)F(n)=2F(n-1)functionjumpFloorII
Kang+丶
·
2020-07-05 10:18
JZoffer
JZ14 -链表中倒数第k个结点(JS)
题目解析
:遍历链表节点,存进数组,然后返回数组的length-k个元素即可。
Kang+丶
·
2020-07-05 10:18
JZoffer
JZ11 -二进制中1的个数(JS)
题目解析
:functionNumberOf1(n){if(n>>0;//get到新技能,该行命令能够获取到负数的补码}varres=n.toString(2);varcount=0;for(vari=0
Kang+丶
·
2020-07-05 10:18
JZoffer
JZ08 - 跳台阶问题(JS)
题目解析
如果将跳n级台阶的方法看作是f(n),n-1台阶的方法是f(n-1),n-2台阶的方法是f(n-2),则f(n)=f(n-1)+f(n-2)本质上也是一个斐波那契数列。
Kang+丶
·
2020-07-05 10:18
JZoffer
算法
JZ12 - 数值的整数次方(JS)
保证base和exponent不同时为0
题目解析
functionPower(base,exponent){1//指数为0,结果为1if(exponent===0){return1;}//质数为1,返回baseif
Kang+丶
·
2020-07-05 10:18
JZoffer
LeetCode之
程序员面试金典
(持续更新~)
程序员面试金典
01.01、判断字符是否唯一01.02、判定是否互为字符重排01.03、URL化问题解答整理,用到算法方恨少,对于数据优化,提升执行速度体验有很大帮助~欢迎补充新的思路,和更优解决。
itmonkeyws
·
2020-07-05 09:35
算法
leetcode
面试
算法
js算法
javascript
验证二叉搜索树(leetcode 98)
文章目录
题目解析
解法一解法二题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。
Ace-huang
·
2020-07-05 08:56
leetcode
#
leetcode树
二叉树
leetcode98
验证二叉搜索树
java
数据结构
2020中兴捧月算法精英挑战赛-迪杰斯特拉派初赛(未来城市物流系统)总结
数据分析的重要性这次比赛真的让我体验到了前期工作的重要性,因为这次比赛是我第一次单人赛,像去年参加华为软挑时都是有队友的,很多前期
题目解析
、数据分析的工作都由他们完成了,我也主要是在他们的思路之上思考算法
like_demo
·
2020-07-05 08:46
数据结构与算法
C++相关
中兴
算法精英挑战赛
Lintcode103 Linked List Cycle || solution 题解
【题目链接】www.lintcode.com/en/problem/linked-list-cycle-ii/【
题目解析
】此题不仅要求判断是否
程风破浪会有时
·
2020-07-05 06:00
计算机网络-关于IP地址与子网划分的
题目解析
知识笔记关于子网号全0全1问题:现在子网号全0全1是可用的,但09年之前因为协议原因不可用全0全1划分子网。根据考研要求可知已经部分高校认定全0全1可以使用,个人认为不确定时以可以用全0全1划分子网。B类网络私网地址范围:172.16.0.0~172.31.255.255,或者使用172.16.0.0/12表示,其中12表示网络号12位,所以主机号为20位。既子网掩码为255.11110000(2
Letslemon
·
2020-07-05 05:25
计算机网络
程序员面试金典
2.2 链表中倒数第k个结点
题目输入一个链表,输出该链表中倒数第k个结点。我的题解classSolution{public:ListNode*FindKthToTail(ListNode*pListHead,unsignedintk){ListNode*fast=pListHead;ListNode*slow=pListHead;intcount=0;while(fast!=NULL){count++;fast=fast->
肆乐雨
·
2020-07-05 03:39
Algorithm
程序员
链表
面试
程序员面试金典
- 面试题 17.26. 稀疏相似度(哈希map)
1.题目两个(具有不同单词的)文档的交集(intersection)中元素的个数除以并集(union)中元素的个数,就是这两个文档的相似度。例如,{1,5,3}和{1,7,2,3}的相似度是0.4,其中,交集的元素有2个,并集的元素有5个。给定一系列的长篇文档,每个文档元素各不相同,并与一个ID相关联。它们的相似度非常“稀疏”,也就是说任选2个文档,相似度都很接近0。请设计一个算法返回每对文档的I
Michael阿明
·
2020-07-05 03:54
《程序员面试金典》
程序员面试金典
- 面试题 16.09. 运算(只用+法做乘除)
1.题目请实现整数数字的乘法、减法和除法运算,运算结果均为整数数字,程序中只允许使用加法运算符和逻辑运算符,允许程序中出现正负常数,不允许使用位运算。你的实现应该支持如下操作:Operations()构造函数minus(a,b)减法,返回a-bmultiply(a,b)乘法,返回a*bdivide(a,b)除法,返回a/b示例:Operationsoperations=newOperations(
Michael阿明
·
2020-07-05 03:54
《程序员面试金典》
程序员面试金典
- 面试题 17.15. 最长单词(排序+递归)
1.题目给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则返回空字符串。示例:输入:["cat","banana","dog","nana","walk","walker","dogwalker"]输出:"dogwalker"解释:"dogwalker"可由"dog"和"walk
Michael阿明
·
2020-07-05 03:54
《程序员面试金典》
程序员面试金典
- 面试题 16.19. 水域大小(BFS/DFS)
1.题目你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。示例:输入:[[0,2,1,0],[0,1,0,1],[1,1,0,1],[0,1,0,1]]输出:[1,2,4]提示:0water;queue>q;v
Michael阿明
·
2020-07-05 03:24
《程序员面试金典》
程序员面试金典
- 面试题 17.07. 婴儿名字(并查集)
1.题目每年,政府都会公布一万个最常见的婴儿名字和它们出现的频率,也就是同名婴儿的数量。有些名字有多种拼法,例如,John和Jon本质上是相同的名字,但被当成了两个名字公布出来。给定两个列表,一个是名字及对应的频率,另一个是本质相同的名字对。设计一个算法打印出每个真实名字的实际频率。注意,如果John和Jon是相同的,并且Jon和Johnny相同,则John与Johnny也相同,即它们有传递和对称
Michael阿明
·
2020-07-05 03:24
《程序员面试金典》
程序员面试金典
- 面试题 10.11. 峰与谷(排序/不排序)
1.题目在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5,8,2,6,3,4,3}中,{8,6}是峰,{3,2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。示例:输入:[5,3,1,2,3]输出:[5,1,3,2,3]提示:nums.length&nums){sort(nums.rbegin(),nums.rend())
Michael阿明
·
2020-07-05 03:24
《程序员面试金典》
程序员面试金典
- 面试题 17.05. 字母与数字(哈希map+思维转换)
1.题目给定一个放有字符和数字的数组,找到最长的子数组,且包含的字符和数字的个数相同。返回该子数组,若存在多个最长子数组,返回左端点最小的。若不存在这样的数组,返回一个空数组。示例1:输入:["A","1","B","C","D","2","3","4","E","5","F","G","6","7","H","I","J","K","L","M"]输出:["A","1","B","C","D",
Michael阿明
·
2020-07-05 03:24
《程序员面试金典》
程序员面试金典
- 面试题 08.11. 硬币(背包DP)
文章目录1.题目2.解题1.题目硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1:输入:n=5输出:2解释:有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2:输入:n=10输出:4解释:有四种方式可以凑成总金额:10=1010=5+510=5+1+1+1+1+110=1+1+1+1+
Michael阿明
·
2020-07-05 03:23
《程序员面试金典》
程序员面试金典
- 面试题 16.11. 跳水板(数学)
1.题目你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter=1longer=2k=3输出:{3,4,5,6}提示:0divingBoard(intshorter,intlonger,intk){if(k==0)
Michael阿明
·
2020-07-05 03:23
《程序员面试金典》
程序员面试金典
- 面试题 16.02. 单词频率(哈希表/Trie树)
文章目录1.题目2.解题2.1哈希解法2.2Trie树1.题目设计一个方法,找出任意指定单词在一本书中的出现频率。你的实现应该支持如下操作:WordsFrequency(book)构造函数,参数为字符串数组构成的一本书get(word)查询指定单词在数中出现的频率示例:WordsFrequencywordsFrequency=newWordsFrequency({"i","have","an","
Michael阿明
·
2020-07-05 03:23
《程序员面试金典》
程序员面试金典
- 面试题 16.05. 阶乘尾数(5的因子)
1.题目设计一个算法,算出n阶乘有多少个尾随零。示例1:输入:3输出:0解释:3!=6,尾数中没有零。示例2:输入:5输出:1解释:5!=120,尾数中有1个零.说明:你算法的时间复杂度应为O(logn)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/factorial-zeros-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业
Michael阿明
·
2020-07-05 03:23
《程序员面试金典》
程序员面试金典
- 面试题 16.17. 连续数列(DP/分治)
1.题目给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contiguous-seq
Michael阿明
·
2020-07-05 03:23
《程序员面试金典》
复杂链表的复制(剑指offer-25)
(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
题目解析
题目解答/*publicclassRandomListNode{intlabel;RandomListNodenext=null
10000_Hours
·
2020-07-04 20:00
NOI Online #3 提高组 第二题:魔法值
NOIOnline#3提高组第二题:魔法值前言
题目解析
代码前言这道题才能算是真正的提高组难度呢。
justin666888
·
2020-07-04 20:26
C++题解
Noi的题目
C++
二叉树中和为某一值的路径
题目解析
:1.首先前序遍历,将访问的结点加入到路径中并累加该路径结点的值;2.如果该结点是叶子结点且路径上的累加值等于输入的数字,则当前路径符合要求,直接返回路径;3.如果该结点不是叶子结点,继续递归访问它的左右子节点
10000_Hours
·
2020-07-04 19:00
Leetcode——生命游戏
题目描述
题目解析
本题是用一个二维数组保存细胞,细胞的死活跟当前数组里的值有关。如果按照正常做法去更新每一个而不使用辅助数组时,就无法满足题目要求,我们应该对数组进行同步更新。
fucccck_ly
·
2020-07-04 16:56
LeetCode
C++做题笔记+知识点总结
inti=5,k;k=(++i)+(++i)+(i++);printf("%d,%d",k,i);
题目解析
:首先i会自加两次,i=7,k=7+7+7,k的值为21,i最后在加1,i=8.2)关于inline
只会HelloWolrd
·
2020-07-04 10:43
UVA 11538-Chess Queen
题目链接
题目解析
题意求在n*m棋盘上放2个相互攻击的皇后的方案数,即求2个皇后在同一行、同一列或同一对角线的所有情况。每行输入2个整数n,m,直到n=m=0时程序结束。
XuKathy
·
2020-07-04 09:32
ACM题目
《
程序员面试金典
》部分题目
1.3字符串确定两个字符串同构StringA的字符重新排列后,能否变成StringB详细importjava.util.*;publicclassSame{publicbooleancheckSam(StringstringA,StringstringB){//writecodehereif(stringA.length()!=stringB.length())returnfalse;int[]r
枝叶淡
·
2020-07-04 08:25
算法题
程序员面试金典
程序员面试金典
16.17
ContiguousSequence:求数组中子序列的最大和。如果将相邻的正负数合并求和,那么就得到了一个正负数相间的序列。接下来考察每一个元素:如果累加和加上当前元素后依然是正数,那么和后面的正数求和后一定会更大,最大和子序列可以包括这个元素如果累加和加上当前元素后是负数,那么和后面的正数求和后一定更小,所以最大子序列和不应该包括这个元素这种方法对于未合并之前的数组也适用,注意在力扣上,空数组要
RayoNicks
·
2020-07-04 07:29
《程序员面试金典》
程序员面试金典
16.15
MasterMind:根据答案solution以及猜测guess,判断猜中和伪猜中的数量。先计算猜中,同时统计未猜中的频次,最后根据频次统计伪猜中。classSolution{public:vectormasterMind(stringsolution,stringguess){vectorans(2,0);mapm;for(size_ts=0;ssecond--;if(iter->second=
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
程序员面试金典
3.4
QueueviaStacks:使用两个栈实现队列。队列的特点是先进先出,栈的特点是先进后出,所以pop()操作应该和入栈顺序相反,这样第二个栈就派上用场了。在pop()时可以将元素全部导入第二个栈中,然后对第二个栈进行pop()操作,最后再将元素全部倒回去。这种方法虽然可行,但是来回倒腾元素会产生很多无意义的操作,所以可以采取较为懒惰的方法,让元素在第二个栈里先放着。classMyQueue{pr
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
程序员面试金典
16.14
BestLine:给定平面上n个点,找出一条直线,使其通过的点数最多。书上的解法:求出两两相连后的斜率,平行线归为一类,在平行线中找重合的直线。由于存在浮点数误差,斜率差值小于epsilon的也算做平行线。由于力扣上的输入都是整数,所以不用考虑epslion的问题。要求返回序号最小的两个点,所以对于同一斜率的平行线,只统计在它后面被添加的平行线上的点就可以了,但是要注意判重。根据这两点调整了一下书
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
程序员面试金典
16.16
SubSort:在整数序列中求出一个最短区间[m,n],满足将该区间内的数据升序排序后,整个序列都升序。根据题意,如果对[m,n]之间的数据进行排序就可以使整个序列有序,那么区间[0,m)和下标大于n的数据都应该是有序的,所以应该先找出开头和结尾的升序序列。这样序列就分为了3部分,left、middle和right,m或者middle中第一个元素的下标,或者是left中的某一个元素的下标,所以应该
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
程序员面试金典
2.1
RemoveDups:删除未排序链表中的重复元素。如果不使用额外的存储空间应该怎么做?为了删除链表中的重复元素,必须要对链表进行遍历。可以将已经遍历过的元素存储在一个集合中,如果再次出现相同的元素,就将其删除。这种方法的时间复杂度为O(N)。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*List
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
程序员面试金典
16.13
BisectSquares:给定两个正方形和一个二维平面,求一条平分两个正方形的最长线段,如果有多条线段,返回斜率最大的一条的两端点。这条线段肯定过这两个正方形的中心,根据这两个中心确定一条直线,然后求4个交点,选择最远的两个就好了。注意斜率为无穷大的问题,以及交点的求法。如果斜率在[-1,1]之间,则交于正方形左右两边,如果斜率在[-∞,-1]∪[1,+∞],则交于正方形上下两边。classSo
RayoNicks
·
2020-07-04 07:28
《程序员面试金典》
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他