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
剑指Offer第二版
JAVA实现
剑指offer第二版
4
面试题39:数组中出现次数超过一半的数字如果将数组排序,位于数组中间的数字一定是出现次数超过的那个数,有o(n)的算法可以得到数组中第k大的数字;在快排中,随机选择一个数字,调整数组中数字的顺序,调整后若刚好处在n/2处则找到;小于n/2则中位数处在左边,大于n/2则位于左边o(n0出现次数超过数组长度一半,说明其出现的次数超过其余的总和,遍历数组,出现相同+1,不同-1;回到0则选择当前开始计数
史前大洪水
·
2020-08-21 21:45
JAVA实现
剑指offer第二版
2
面试题16:数值的整数次方需要考虑底数为0的情况,指数为正或负的情况;在计算次方时,应注意到4次方为2次方的2次方,可以进行递归调用减少复杂度;也要主要到double类型的比较不能直接使用==;privatestaticbooleang_InvalidInput=false;publicstaticvoidmain(String[]args){System.out.print(Power(0,-1
史前大洪水
·
2020-08-21 21:45
面试
JAVA实现
剑指offer第二版
5
面试题53_1:在排序数组中查找数字因数组有序,可以考虑二分查找,但二分查找后还需顺序查找第一个k和最后一个k,可以在二分查找的过程中对是否为第一个或最后一个k进行判断。最终的复杂度控制在o(logn);publicstaticintgetApperanceNumber(int[]nums,intk){if(nums==null||nums.length==0){return0;}if(nums.
史前大洪水
·
2020-08-21 21:45
面试
《
剑指offer第二版
》JAVA代码
《
剑指offer第二版
》我将JAVA解托管在GitHub链接/***字符串匹配问题*/publicclassOffer19{publicbooleansolve(Strings,Stringpattern
业精勤而荒嬉
·
2020-08-21 21:13
算法
剑指offer第二版
(Python3)--面试题54 : 二叉搜索树的第k个结点
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数 面试题42:连续子数组的最大和 面试题43:从1到n整数中1出现的次数 面试题45:把数组排成最小的数 面试题49:丑数 面试题50:第一个只出现一次的字符 面试题51:数组中的逆序对 面试题52:两个链表的第一个公共结点
qq_27668313
·
2020-08-21 20:30
算法设计
剑指offer第二版
(Python3)--面试题38 : 字符串的排列
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30:包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33:二叉搜索树的后序遍历序列 面试题34:二叉树中和为某一值的路径 面试题35:复杂链表的复制 面试题36:二叉搜索树与双向链表 面试题38:字符串的排列第5
qq_27668313
·
2020-08-21 20:30
算法设计
剑指offer第二版
——面试题47(java)
面试题:礼物的最大价值题目:在一个m×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)可以从棋盘的左上角开始拿格子里的礼物,并每次向右或向下移动一格,直到到达棋盘的右下角给定一个棋盘及其上面的礼物,计算你最多能拿到多少价值的礼物即,给定一个二维矩阵,从左上角走到右下角,每次只能向右或者向下移动,经过的格子的数的最大总和思路:使用辅助数组maxa来记录每个位置到右下角的最大总和1
冲鸭!!!!!
·
2020-08-21 20:13
剑指offer第二版
剑指offer第二版
——面试题30(java)
面试题:包含min函数的栈题目:定义栈的数据结构。请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都为O(1)思路:1.最开始的思路:用一个辅助变量存储最小值——在最小值也被弹出的时候无法得知次小值2.之后的思路:用一个栈,存储每次push时的新最小值,如果没有更新,就不压入辅助栈——如果连续都是相同的最小值,则弹出一个值之后,辅助栈中就没有
冲鸭!!!!!
·
2020-08-21 20:42
剑指offer第二版
剑指offer第二版
——面试题35(java)
面试题:复杂链表的复制题目:实现函数,复制一个复杂链表,链表中,每个节点除了有一个next指针指向下一个节点,还有一个sibling指针指向链表中的任意节点或nullptr思路:(全是书上写的我啥也没想出来QAQ)先提到了两种思路,一个是:先复制主路线,即用next连接的部分,再复制sibling,但是这样每个结点的sibling都需要从头开始寻找,时间复杂度太高;另一个是:用哈希表存储,需要消耗
冲鸭!!!!!
·
2020-08-21 20:42
剑指offer第二版
剑指offer第二版
——面试题9(java)
面试题9:用两个栈实现队列题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。方法:两个栈stack1&stack2※插入时,直接放入stack1※删除时,直接弹出pop2中的对象;如果pop2为空,则先将pop1中的对象放入stack2中,再从stack2里pop第一个如:依次放入s
冲鸭!!!!!
·
2020-08-21 20:41
剑指offer第二版
剑指offer第二版
——面试题8(java)
面试题8:二叉树的下一个节点题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针分析:根据中序遍历的特点,要找到一个节点的下一个节点的三种情况:情况一、有右子树,这时只需要把其右孩子作为下一个遍历的(并不是要找的)节点,然后沿着该节点的左子树(如果有的话)出发,直到遇到叶子节点,那么该叶子节点就是其下一个要找
冲鸭!!!!!
·
2020-08-21 20:41
剑指offer第二版
剑指offer第二版
(Python3)--面试题41 : 数据流中的中位数
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数 面试题41:数据流中的中位数 面试题42:连续子数组的最大和第6章面试中的各项能力第7章两个面试案例题目描述牛客网 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据
qq_27668313
·
2020-08-21 17:37
算法设计
剑指offer第二版
——面试题40(java)
面试题:最小的k个数题目:输入n个整数,找出其中最小的k个数,例如,输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4【方法一】将整数排序,排序后位于最前面的k个数则为最小的k个数。时间复杂度为O(nlogn)【方法二——需要修改数组】可以基于快排的部分算法来解决问题(Partition)。可基于数组的第k个数字来调整,使得比第k个数字小的所有数字都位于数组的左边,比第
冲鸭!!!!!
·
2020-08-21 17:04
剑指offer第二版
剑指offer第二版
(Python3)--面试题40 : 最小的k个数
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数第6章面试中的各项能力第7章两个面试案例题目描述牛客网 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。解题思路 可以创建一个大小为k的数据容器来存储最小的k个数字
qq_27668313
·
2020-08-21 17:22
算法设计
剑指offer第二版
(Python3)--面试题57 : 和为s的连续正数序列、和为s的数字
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数 面试题42:连续子数组的最大和 面试题43:从1到n整数中1出现的次数 面试题45:把数组排成最小的数 面试题49:丑数 面试题50:第一个只出现一次的字符 面试题51:数组中的逆序对 面试题52:两个链表的第一个公共结点
qq_27668313
·
2020-08-21 09:53
算法设计
剑指offer 链表中倒数第k个结点
分析:(来自
剑指offer第二版
P137)方法:双指针法设置两个指针,first,last,先让first走k-1步,然后再一起走,直到first指向最后一个结点时,last即为倒数第k个节点。
小菜鸡的蜕变之路
·
2020-08-21 09:47
剑指offer刷题
《
剑指offer第二版
》九
1.序列化二叉树(1)题目描述请实现两个函数,分别用来序列化和反序列化二叉树。示例:你可以将以下二叉树:1/\23/\45序列化为“[1,2,3,null,null,4,5]”(2)题目分析本题分为两部分来处理,首先是序列化,本题使用按层遍历的方式来处理,而二叉树的按层遍历使用队列来实现,在反序列化时同样使用一个队列来实现,在进行节点拼接时,将依次入队,然后出队即可,因为跟节点的左右节点的子树也是
sky国士无双
·
2020-08-19 05:21
剑指offer第二版
《
剑指offer第二版
》十
1.数组中数字出现的次数(1)题目描述在一个数组nums中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例1:输入:nums=[3,4,3,3]输出:4(2)题目分析本题优先想到的解法是哈希表,通过统计每个数字的次数,然后找到次数为1的那个数即可,但是哈希表需要用到额外的空间。由于除了出现一次的数字外,其他数字都出现了3次,因此这些数字的每一位之和肯定是3的倍数,这
sky国士无双
·
2020-08-19 05:21
剑指offer第二版
剑指offer第二版
面试题29:顺时针打印矩阵(java)
题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:1,2,3,45,6,7,89,10,11,1213,14,15,16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.分析:当遇到一个复杂的问题的时候,我们可以用图形来帮助我们来思考。由于是从外圈到内圈的顺序依次打印,我们可以把矩阵想象成若干个圈,如图所示。
许文杰
·
2020-08-18 13:35
java基础
算法
剑指offer第二版
面试题14:剪绳子(java)
题目描述:给定一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]*k[1]*…*k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。分析:1、求一个问题的最优解;2、整体的问题的最优解是依赖各个子问题的最优解;3、把大问题分解成若干个小问题,
许文杰
·
2020-08-16 11:02
java基础
算法
算法
剑指Offer_Java版(可能是你见过最精简最易懂的)
剑指offer第二版
(持续更新)前言:这是我刷这本书的第二次!第二遍真的很有感觉,在第一遍的前提下又有了很深的体会,也优化了很多第一次的代码,逐渐爱上算法!
迪迦奥特曼丶也熬不动了
·
2020-08-14 21:53
笔记
java
算法
数据结构
面试
leetcode
剑指offer第二版
python 牛客网刷题全记录
所有题目单独整理的版本存储在这里,点击题目名字可以跳转到牛客网的成功提交记录,点击python可以看到存储库中的对应求解代码。《剑指offer》牛客网刷题总结点击题目可以跳转到牛客网上对应的AC提交记录,具体的python文件存储在库中。TitleSolutionTimeSpaceCategory二维数组中的查找PythonO(n)O(1)数组替换空格PythonO(n)O(1)字符串从尾到头打印
每一个有风的日子
·
2020-08-14 17:47
剑指Offer第二版
大部分题解(Java实现)
剑指Offer第二版
题解面试题03.数组中重复的数字找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。
2020GetGoodOffer
·
2020-08-14 07:08
JAVA
剑指offer第二版
面试题42:连续子数组的最大和(java)
题目描述:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和18。分析思路:Step1.从头到尾逐个累加数组中的每个数字,初始化和为0;(nCurrSum=0,nGreatestNum=in
许文杰
·
2020-08-13 21:32
java基础
算法
剑指offer第二版
(Python3)--面试题62 : 圆圈中最后剩下的数字
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率第6章面试中的各项能力 面试题62:圆圈中最后剩下的数字 面试题64:求1+2+3+…+n第7章两个面试案例题目描述 0,1,2,…,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。解题思路 实际上就是动态规划,只是这个递推式太难找了。f(n
qq_27668313
·
2020-08-12 12:39
算法设计
剑指offer第二版
面试题8:二叉树的下一个节点(java)
题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析 根据中序遍历的特点,要找到一个节点的下一个节点无非就是三种情况: 1、有右子树,这时只需要把其右孩子作为下一个遍历的(并不是要找的)节点,然后沿着该节点的左子树(如果有的话)出发,直到遇到叶子节点,那么该叶子节点就是其下一个要找的节点; 2、没有
许文杰
·
2020-08-10 23:13
算法
java基础
剑指offer第二版
面试题19:正则表达式匹配(java)
题目描述:请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配分析:这道题的核心其实在于分析’‘,对于’.’来说,它和任意字符都匹配,可把其当做普通字符。对于’‘
许文杰
·
2020-08-10 03:09
java基础
算法
剑指offer(9) 斐波那契数列第n项及其应用【JAVA】
目录1.斐波那契数列第n项三种计算方法2.应用一:青蛙跳台阶问题3.应用二:小矩形放大矩形问题注:本文部分内容来自
剑指offer第二版
1.斐波那契数列第n项三种计算方法递归:存在严重的性能问题,因为重复计算
LvTong199881
·
2020-08-09 23:40
剑指offer
剑指offer第二版
——面试题64(java)
面试题:求1+2+……+n题目:求1+2+……+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)参考:https://blog.csdn.net/qq_43165002/article/details/89607472https://blog.csdn.net/Lynn_Baby/article/details/79724299
冲鸭!!!!!
·
2020-08-09 23:49
剑指offer第二版
剑指offer第二版
(Python3)--面试题58 :翻转字符串、左旋转字符串
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数 面试题42:连续子数组的最大和 面试题43:从1到n整数中1出现的次数 面试题45:把数组排成最小的数 面试题49:丑数 面试题50:第一个只出现一次的字符 面试题51:数组中的逆序对 面试题52:两个链表的第一个公共结点
qq_27668313
·
2020-08-07 09:09
算法设计
剑指offer第二版
面试题41:数据流中的中位数(java)
题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。分析思路:用两个堆保存数据,保证两个堆的数据保持平衡(元素个数相差不超过1)大顶堆存放的数据要比小顶堆的数据小当两个堆中元素为偶数个,将新加入元素加入到大顶堆,如果要加入的数据,比小顶堆的最小元素大,先将
许文杰
·
2020-08-05 20:25
java基础
算法
剑指offer第二版
——面试题27(java)
面试题27:二叉树的镜像题目:请完成一个函数,输入一颗二叉树,该函数输出它的镜像。二叉树定义:publicclassBinaryTreeNode{doubleval;BinaryTreeNodeleftNode;BinaryTreeNoderightNode;publicBinaryTreeNode(doublex){val=x;}}思路:过程为:遍历树的同时交换该结点的左右节点所用的是迭代的方法
冲鸭!!!!!
·
2020-08-05 19:36
剑指offer第二版
剑指offer第二版
——面试题18(java)
面试题18:删除链表的节点题目一:在O(1)时间内删除链表节点——见【LeetCode237.DeleteNodeinaLinkedList&剑指offerQ18】题目二:删除链表中重复的节点题目描述:在一个排序的链表中,如何删除重复的节点如1→2→3→3→4→4→5删除重复节点,重复节点不保留之后得到:1→2→5分为三个部分:①删除链表中开头的第一类重复数字,如11223345中,删除11,输出
冲鸭!!!!!
·
2020-08-05 19:36
剑指offer第二版
剑指offer第二版
面试题27:二叉树的镜像(java)
题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像二叉树节点定义://二叉树节点定义classTreeNode{intval=0;TreeNodeleft=null;TreeNoderight=null;publicTreeNode(intval){this.val=val;}}分析:树的镜像是一个比较新的概念,我们未必能够一下子相出求树的镜像的方法。为了能够形成直观的印象,我们可以自己
许文杰
·
2020-08-05 17:19
java基础
算法
剑指offer面试题分类总结
剑指offer第二版
中的题目按所涉及知识可分为以下几类:当然每个题可能涉及多个知识点的运用。
影子要造反
·
2020-08-04 18:12
C/C++
笔试面试
一些总结
【
剑指offer第二版
】JAVA刷题总结-ch2
3.数组中重复的数字3-1找出数组中重复的数字思路:交换下标,时间复杂度O(N),空间复杂度O(1)。因此不能使用排序的方法,也不能使用额外的标记数组。对于这种数组元素在[0,n-1]范围内的问题,可以将值为i的元素调整到第i个位置上进行求解。以(2,3,1,0,2,5)为例,遍历到位置4时,该位置上的数为2,但是第2个位置上已经有一个2的值了,因此可以知道2重复:classSolution{pu
Calliope1997
·
2020-08-04 11:38
java
剑指offer
剑指offer第二版
面试题46:把数字翻译成字符串(java)
题目描述:给定一个数字,按照如下规则翻译成字符串:0翻译成“a”,1翻译成“b”…25翻译成“z”。一个数字有多种翻译可能,例如12258一共有5种,分别是bccfi,bwfi,bczi,mcfi,mzi。实现一个函数,用来计算一个数字有多少种不同的翻译方法。分析思路:用递归自顶向下分析,用动态规划自低向上求解•定义问题:当最开始的一个或者两个数字被翻译成一个字符后,我们接着翻译后面剩下的数字;•
许文杰
·
2020-08-04 06:17
java基础
算法
剑指Offer——Java版本(持续更新)
参考整理来自《
剑指Offer第二版
》。特别注意,对每道题要首先考虑解题之外的要点:特殊输入:传参为null,数组长度为0,空字符串等。边界条件:数组、字符串长度是否满足题目要求等。
Xianhuii
·
2020-08-02 22:00
剑指offer第二版
面试题24:反转链表(java)
题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。链表结点如下:publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=val;}}分析:要想反转链表,对于结点i,我们要把它的next指向它的前趋,因此我们需要保存前趋结点,同时,如果我们已经把i的next重新赋值,会无法找到i的
许文杰
·
2020-08-01 05:26
java基础
算法
剑指offer第二版
面试题37:序列化二叉树(java)
题目描述:请实现两个函数,分别用来序列化和反序列化二叉树。分析:如图:题目实际上就是用序列来表示一棵二叉树,然后还可以根据这个序列重建二叉树。对于上图中的树,以前序遍历为例,先访问到1,然后2,然后4,4的左右子结点都为空,可以用一个特殊字符$替代,所以上图中的二叉树前序遍历表示就是“1,2,4,$,$,$,3,5,$,$,6,$,$”。重建的时候,访问的第一个结点为根结点,接下来的数字是2,它是
许文杰
·
2020-07-30 03:17
java基础
算法
剑指offer第二版
(Python3)--面试题37 : 序列化二叉树
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵 面试题30:包含min函数的栈 面试题31:栈的压入、弹出序列 面试题32:上往下打印二叉树 面试题33:二叉搜索树的后序遍历序列 面试题34:二叉树中和为某一值的路径 面试题35:复杂链表的复制 面试题36:二叉搜索树与双向链表 面试题37:序列化二叉树
qq_27668313
·
2020-07-29 22:33
算法设计
剑指offer
序列化二叉树
Python3
剑指offer第二版
——面试题37(java)
面试题:序列化二叉树题目:请实现两个函数,分别用来序列化和反序列化二叉树序列化二叉树:将二叉树按一定的遍历顺序保存为字符串,例如,按先序遍历,将树存储为一个字符串,其中值结尾用!,空值用#(符号可自选)反序列化二叉树:将一个二叉树序列化后的字符串,转化为一颗二叉树序列化思路:使用先序遍历,遍历时往字符串中添加值反序列化思路:(基于先序遍历)每次递归时,先将字符串中的第一个字符(非#)创建为节点,删
冲鸭!!!!!
·
2020-07-29 21:44
剑指offer第二版
剑指offer第二版
面试题32:从上到下打印二叉树(java)
题目一描述:从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如输入下图的二叉树,则一次打印出8,6,10,5,7,9,11。分析:这道题实质上考察的就是树的遍历算法,只是这种遍历不是我们熟悉的前序、中序或者后序遍历。由于我们不太熟悉这种按层遍历的方法,可能一下也想不清楚遍历的过程。因为按层打印的顺序决定应该先打印的根节点,所以我们从树的根节点开始分析。为了接下来能够打印8的节点
许文杰
·
2020-07-28 20:42
java基础
算法
剑指offer第二版
面试题45:把数组排成最小的数(java)
题目描述:输入一个正整数数组,把数组里面所有的数字拼接排成一个数,打印能拼接出的所有数字中的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323。分析实例:这个题目最直接的做法应该是先求出这个数组中的所有数字的全排列,然后把每个排列拼接起来,最后求出排列起来的数字的最小值。求数组的排列和面试题28非常相似。根据排列组合的只是,n个数字总共有n!排列,我们再来看一下
许文杰
·
2020-07-28 20:12
java基础
算法
剑指offer第二版
面试题47:礼物的最大价值(java)
题目描述:在一个m×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请计算你最多能拿到多少价值的礼物?分析思路:利用循环的动态规划实现,使用辅助二维数组•定义f(i,j)表示到达坐标为(i,j)的格子时能拿到的礼物总和的最大值;•有两种路径到达(i,j):(i-
许文杰
·
2020-07-28 20:12
java基础
算法
剑指offer第二版
-35.复杂链表的复制
本系列导航:剑指offer(第二版)java实现导航帖面试题35:复杂链表的复制题目要求:在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或null,请完成一个能够复制复杂链表的函数。解题思路:此题定义了一种新的数据结构,复杂链表。与传统链表的区别是多了一个random指针。本题的关键点也就在如何高效地完成random指针的复制。解法时间复杂
ryderchan
·
2020-07-16 06:20
剑指offer第二版
(Python3)--面试题27:顺时针打印矩阵
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路 面试题27:二叉树的镜像 面试题29:顺时针打印矩阵第5章优化时间和空间效率第6章面试中的各项能力第7章两个面试案例题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4X4矩阵:12345678910111213141516则依次打印出数字1,2,3,4,8,12,16,15,14,13
qq_27668313
·
2020-07-16 05:01
算法设计
剑指offer
顺时针打印矩阵
剑指offer第二版
(Python3)--面试题45 : 把数组排成最小的数
第2章面试需要的基础知识第3章高质量的代码第4章解决面试题的思路第5章优化时间和空间效率 面试题39:数组中出现次数超过一半的数字 面试题40:最小的k个数 面试题42:连续子数组的最大和 面试题43:从1到n整数中1出现的次数 面试题45:把数组排成最小的数第6章面试中的各项能力第7章两个面试案例题目描述牛客网 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所
qq_27668313
·
2020-07-15 14:04
算法设计
剑指offer第二版
面试题-Java描述-持续更新
最近在用Java刷剑指offer(第二版)的面试题。书中原题的代码采用C++编写,有些题的初衷是为了考察C++的指针、模板等特性,这些题使用Java编写有些不合适。但多数题还是考察通用的算法、数据结构以及编程思想等,与语言本身无太大关系。因此在选择编程语言时,我还是选择了Java。好吧,主要是我C++忘得差不多了,仅仅是曾经学过俩月,使用Java顺手一些。后续可能再用Python刷一遍。githu
weixin_30908941
·
2020-07-15 04:23
剑指offer第二版
-65.不用加减乘除做加法
本系列导航:剑指offer(第二版)java实现导航帖面试题65:不用加减乘除做加法题目要求:写一个函数,求两个正数之和,要求在函数体内不能使用四则运算符号。解题思路:不能用四则运算,那只能通过位运算了。其实四则运算是针对十进制,位运算是针对二进制,都能用于运算。下面以0011(即3)与0101(即5)相加为例说明1.两数进行异或:0011^0101=0110这个数字其实是把原数中不需进位的二进制
ryderchan
·
2020-07-14 19:54
上一页
1
2
3
4
5
下一页
按字母分类:
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
其他