自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 收藏
  • 关注

原创 CentOS 7搭建hadoop环境【详细+截图】

CentOS 7搭建hadoop环境寻找网上的博客教程,折腾了许久,出一篇自己成功搭建hadoop环境的文章,用来记录自己的探索,同时为大家伙少走弯路提供捷径一、在虚拟机中安装CentOS 7并克隆两台机子至此机器准备完成二、查看ip地址请查看:CentOS7 入赘虚拟机后,如何查看 ip 地址?三、修改静态ip地址在VM中菜单栏里,编辑->虚拟网络编辑器(用于查看子网ip以及子网掩码)进入虚拟机,输入命令cd /etc/sysconfig/network-script

2020-11-20 00:39:59 235

原创 【代码+注释】判断完全二叉树

给我们一棵二叉树,我们可以一眼认出是否是完全二叉树,现在如何用代码判断完全二叉树呢?我之前去百度了一下完全二叉树,上面说完全二叉树是一种效率极高的数据结构,究竟高在什么地方呢,说实话,我也不知道哈哈哈哈哈,上网搜了一圈也没有找到让我信服的答案,有兴趣的小伙伴可以上网查一查,可能是我现在的水平还不足以体会到完全二叉树有什么特殊的效果吧,但是作为数据结构的一种,咱们先学好再说,到以后做一些项目可能灵感会来得快点,废话不多说,今天的内容是用代码判断完全二叉树核心代码块: /*判断完全二叉树*/

2020-06-29 22:36:18 1911

原创 【代码】求二叉树叶子结点的个数

编写算法,求二叉树叶子结点的个数题目分析: 求二叉树的叶子结点,就是求二叉树上左右孩子结点都是空的结点,还记得二叉树的三种遍历方式吗?前序遍历、中序遍历和后序遍历,在递归遍历算法中,无论采取哪种遍历方式,我们只需要添加一个条件就可以求得树的叶子结点啦判断是否是叶子结点的条件是:题中我采用的前序遍历,我们看代码吧建立的二叉树形状:代码实现:注:此代码除《Domain.h》里面的算法之外,其余代码皆为二叉树的基本操作内容,若有不明白的地方可参考文章:树的基本操作BiTree.h

2020-06-29 22:32:36 1734 7

原创 【单链表】单链表的就地逆置

编写算法实现带头结点单链表seqlist的就地逆置,即利用原带头结点单链表seqlist的结点空间,把数据元素顺序排反题目分析: 在前面2-18讲了顺序表的就地逆置,但单链表的就地逆置与顺序表有所不同,因为顺序表可以根据下标值直接快速的找到对应的数据,而单链表只能从头结点一个一个的遍历才能找到相应数据元素,所以逆置单链表不采用第一个结点和最后一个结点交换的方式。那怎么做呢? 既然都讲到这里了,咱就先来讨论讨论单链表的两种建立方式————头插法和尾插法利用尾插法建立的单链表数

2020-06-23 16:57:08 734 1

原创 【数据结构单链表】编写一个算法,逐个输出 单链表 中所有数据元素。设数据元素对的数据类型为int型

编写一个算法,逐个输出 顺序表 中所有数据元素。设数据元素对的数据类型为int型题目分析: 要挨个输出顺序表,那咱就得先有一个顺序表才对呀,所以虽然题目中虽然只说输出顺序表中的所有元素,但我们要先建立一个顺序表,然后再将其输出考点: 1.建立顺序表2.遍历顺序表(挨个输出数据元素)代码实现:#include<stdlib.h>#include<stdio.h>const int MAX = 20; //设定这个顺序表的最大空间为

2020-06-23 15:50:31 2301 2

原创 Java中的String类(必掌握)

字符串常量池字符常量池位于堆内存中专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串,在创建字符串时JVM首先会检查字符串常量池,如果该字符串已经在池中,则返回他的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用String a = "abc";String b = "abc";System.out.println(a == b); // trueString不是最基本的数据类型Java中的基本数据类型有8个:byte、short、int、long、fl

2021-02-21 11:01:59 16

原创 hashCode()和equals()的关系,为什么重写了equals,必须重写hashCode方法?

hashCode()和equals(),都属于Object类里面的方法,因此所有的Java类都含有这二方法。三条:一、equeals相等,那么hashCode一定相等二、hashCode相等,那么equals不一定返回true三、hashCode不相等,那么equals一定不相等因此,equals比hashCode更加复杂,它判断的相等与否更加绝对,更加有效。hashCode()该方法的作用就是获取哈希码,哈希码是一个int型数字,用来确定对象在哈希表中的索引位置。为什么有了equals这样有

2021-02-20 17:37:58 4

转载 匿名内部类的特点

匿名内部类就是没有名字的内部类特点:必须继承一个抽象类或者实现一个接口匿名内部类不能定义任何静态成员和静态方法当所在的方法的形参需要被匿名内部类使用时,必须声明为final (jdk8之前要手动加上final,在jdk8及以后编译会帮我们自动加上final)原因:生命周期不一致局部变量存储在栈中,当方法执行结束后,非final的局部变量就被销毁。而局部内部类对局部变量的引用依然存在,如果局部内部类要调用局部变量时,就会出现错误,或者说不是程序员想要的结果。如果加了final,可以确保局部内

2021-02-20 16:50:25 6

原创 全国高校计算机能力挑战全国总决赛java题解(2020第二届)

我参加的第二届(2020年),国二12月20日的决赛,因为抓期末复习,所以现在才出这篇题解决赛有6个编程题一题目描述某高校食堂开办了一个自助餐厅,使用智能餐盘和自动结算,计算学生餐费。智能餐盘能够识别所打莱品类型,重量,单价(计价单位为:元/100克)食堂计划以每道菜、汤独立定价;主食200克以内免费,200克以上部分收费(如果打了多道主食,依据输入次序累计免费200克以下部分)为鼓励学生健康饮食,学校鼓励学生联网分享运动信息,参照计步数进行阶梯折扣,0-5999步不打折,6000-9999

2021-01-01 21:01:22 27

原创 微机接口技术及应用(纯手打)——期末复习用

目录概述总线I/O地址译码技术定时、计时技术中断技术DMA技术并行接口串行通信接口一、概述接口的作用?进行CPU与设备之间的信息交换接口的基本任务?(1)实现设备与总线的连接(2)连接后,CPU对设备进行操作或控制用户接口是所有微机系统都必须具有的接口层次设备接口和总线桥的概念(1)设备接口:I/O设备与本地总线之间的连接电路并进行信息交换的中转站,直接传递(2)总线桥:连接的是本地总线与PCI总线,间接传递(映射)为什么要设置I/

2021-01-01 11:51:38 55

原创 【贪心】发工资——贪心算法入门题目

原题链接问题描述作为程序猿,最盼望的日子就是每月的9号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵但是对于公司财务处的工作人员来说,这一天则是a很忙碌的一天,财务处的小李最近就在考虑一个问题:如果每个员工的工资额都知道,最少需要准备多少张人民币,才能在给每位员工发工资的时候都不用员工找零呢?这里假设程序猿的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。输入输入数据包含多个测试实例,每个测试实例的第一个数是一个整数n(n<100),表示员工的人数

2020-12-23 12:01:08 33

原创 回溯算法的经典例题——素数环、皇后问题、马踏棋盘

回溯算法的经典例题(1)含有重复字母的字符串全排列问题(2)素数环(3)八皇后问题(4)八皇后变换~X皇后(5)八皇后变换~格子之和最大(6)八皇后变换~2n皇后(7)马踏棋盘(8)有蹩脚的马踏棋盘...

2020-12-23 11:06:52 30

原创 【回溯】八皇后变换-2n皇后

原题链接问题描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入输入的第一行为一个整数n,表示棋盘的大小。接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。输出输出一个整数,表示总共有多少种放法。解法:回溯回溯思路先填好白

2020-12-23 10:47:44 21

原创 【回溯】八皇后问题变换-格子之和最大

原题链接问题描述规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。输入一个8*8的棋盘。输出所能得到的最大数字和解法:回溯选择最优思路:(1)当8行都符合八皇后的规则后,计算方案数在棋盘上的值(2)值越大就取代码/** * 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。 * 解法:在八皇后的基础上增加比较条件 */public class Main { /* 输入的棋盘 */ static int[

2020-12-23 10:46:57 34

原创 【回溯】八皇后问题变换-X皇后

原题链接问题描述请输出字典序最小的x皇后问题对应的排列。输入一个数x输出包括一行,输出1~x的一个排列,满足x皇后问题的要求。解法:老规矩回溯求解思路回溯是按照深度搜索来的,搜索出来的第一个答案就是字典序就是最小,打印输出即可代码import java.util.Scanner;/** * 请输出字典序最小的x皇后问题对应的排列。 * (x<=10) */public class Main { public static void main(String[

2020-12-23 10:45:59 14

原创 【回溯】八皇后的方案数——经典巨无霸

问题描述:皇后问题是指在8*8的棋盘上放置8个皇后,使这8个皇后无法吃掉对方(也就是说两两不在一行,不在一列,也不在对角线上),求放置皇后的方案数输入:无输出:一个整数,表示方案数解法:回溯试探思路(1)用一个数组arr表示放置的方式,例如arr[i] = j表示在第i行第j列放置一个皇后,i和j均从0开始,即0表示第一行(列)(2)一行一行的放置皇后,挨个位置进行试探,如果该位置可用,继续进行下一行的试探,如果该位置不可用,那么回退,将这个皇后放置到下一列(3)直到行数等于8,方案数

2020-12-23 10:45:09 23 1

原创 【回溯】原生的马踏棋盘——贼强

问题描述在N*N棋盘上,任意一个位置放置一个棋子马,要能选择一套合适的移动路线,按象棋中“马走日”的移动规则不重复地遍历棋盘上每一个位置点。输入第一行,一个正整数n。第二行包含两个整数,表示原点在棋盘中的位置输出输出遍历棋盘的路径或者“没有找到全遍历路径解法:回溯搜路径思路(1)从源点开始,向各个方向试探(2)如果当前跳法符合条件,就继续以当前位置为源点,向各个方向试探(3)如果当前位置已经被占了,就回退到上一个位置,向其他方向跳(4)棋盘已满时,遍历输出,结束程序代码impo

2020-12-23 10:44:18 37

原创 【回溯】有蹩脚的马踏棋盘——思路巨清晰!!!

问题描述在上一个问题的基础上,如果事先将棋盘中设置有的地方已经被占据,马跳的过程中可能被别脚,如果马能够跳完剩下的棋盘,则遍历输出路径,如果不能跳完,则打印“没有找到全遍历路径”输入输入的第一行包含一个正整数n(n< =100)。第二行为一个小于n * n的整数m。接下来m行都包含两个整数,每一行代表第i行,第j列的位置已经有棋子。接下来一行包含两个数,代表起点。输出马的遍历路径或者“没有找到全遍历路径。解法:回溯剪枝思路(1)思路同上一题目一样,区别在于判断下一个位置是否可行

2020-12-23 10:43:34 22

原创 【回溯】含有重复字母的字符串全排列问题

问题描述:输出字符串的全部排列顺序,可能含有重复字母输入:两行,第一行表示字符串长度(<100)第二行为个长度大于0小于100的字符串输出:若干行,第一行表示全排列的种数接下来每行表示一种排列方式解法:回溯去重思路(1)将第一个字母与第二个字母交换,输出一种排列(2)然后将第一个字母与第三个字母交,输出一种排列(3)但是在(1)(2)之间存在一个问题,当(1)执行了之后紧接着执行(2),其效果是第三个字母和第二个字母交换(因为在(1)中第一个字母已经和第三个字母产生交换了)

2020-12-23 10:42:27 63

原创 【回溯】素数环——代码超清晰!!!

问题描述:输出字符串的全部排列顺序,可能含有重复字母输入:两行,第一行表示字符串长度(<100)第二行为个长度大于0小于100的字符串输出:若干行,第一行表示全排列的种数接下来每行表示一种排列方式解法:回溯去重思路(1)将第一个字母与第二个字母交换,输出一种排列(2)然后将第一个字母与第三个字母交,输出一种排列(3)但是在(1)(2)之间存在一个问题,当(1)执行了之后紧接着执行(2),其效果是第三个字母和第二个字母交换(因为在(1)中第一个字母已经和第三个字母产生交换了)

2020-12-23 10:38:59 48

原创 剑指 Offer 31. 栈的压入、弹出序列——堆栈的匹配

原题链接题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), pus

2020-12-22 23:02:01 16

原创 剑指 Offer 32 - II. 从上到下打印二叉树 II——利用队列层序遍历BFS

原题链接题目描述从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],​ 3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]限制节点总数 <= 1000解法:利用队列特性层序遍历思路代码public List<List<Integer>> levelOrder(TreeNode root) {

2020-12-20 16:22:58 7

原创 剑指 Offer 30. 包含min函数的栈——辅助栈、垫次小值两种解法!!!

原题链接题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中调用 min、push 及 pop 的时间复杂度都是 O(1)。示例MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); -->

2020-12-19 12:00:46 13 1

原创 【代码+注释】01背包问题、完全背包、多重背包——动态规划经典

描述:有n个物品,每个物品的重量为weight[i],每个物品的价值为value[i]。现在有一个背包,它所能容纳的重量为total,问:当你面对这么多有价值的物品时,你的背包所能带走的最大价值是多少?思路:明确dp数组的意义:dp[i] [j]表示,当我现在只有前i个物品以及j个空间时,背包能带走的最大价值寻找递推关系:当遍历到某个物品时,我们所面临的问题是,装不装这个物品装:上一个物品计算之后加上这个物品的价值,dp[i - 1] [j – weight[i]] + value[i]

2020-12-18 13:47:37 18

原创 剑指 Offer 29. 顺时针打印矩阵——控制好数组边界

原题链接题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制0 <= matrix.length <= 1000 <= matrix[i].length <

2020-12-18 11:23:26 43

原创 【效率百分百】剑指 Offer 28. 对称的二叉树——递归解法!!!

原题链接题目描述请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1输入:root = [1,2,2,3,4,4,3]输出:true示例 2输入:root = [1,2,2,null,3,null,3]输出:false限

2020-12-18 10:16:42 53

原创 【效率百分百】剑指 Offer 27. 二叉树的镜像——交换左右子树

原题链接题目描述请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 3 1示例 1输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]限制0 <= 节点个数 <= 1000解法:递归遍历时交换左右子树代码public TreeNode mirrorTree(TreeNode root) { if(root ==

2020-12-18 10:14:33 51

原创 【效率百分百】剑指 Offer 26. 树的子结构——匹配结点

原题链接题目描述输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1输入:A = [1,2,3], B = [3,1]输出:false示例 2输入:A = [3,4,5,1,2], B = [4,1]输出:true限制0 <= 节点个

2020-12-18 10:13:23 5

原创 剑指 Offer 25. 合并两个排序的链表——最快的解法

原题链接题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制0 <= 链表长度 <= 1000解法思路建立一个假的头结点和当前结点curr指向假头结点同时遍历两条链表,将较小的结点添加到当前结点的后面有一条链表遍历完后,将另一条链表剩余的结点添加到curr结点后面,返回头结点的next代码/*

2020-12-17 09:35:39 8

原创 【经典逆置】剑指 Offer 24. 反转链表——写了无数遍

原题链接题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制0 <= 节点个数 <= 5000解法:经典的就地逆置单链表和《剑指offer》06题换汤不换药,就地逆置单链表,这里不再赘述,我的这篇文章有详细的图文讲解:就地逆置单链表再次附上代码:/* 就地逆置单链表 */private

2020-12-16 11:18:03 6

原创 求最长公共子序列本身

题目详情请见:求字符串的最长公共子序列在上题求出子序列长度基础上,我们要求出子序列本身长什么样思路:在求最大长度的时候,我把当前最大长度的来源记下来,用path数组保存1:当前string1[i] == string2[j]2:当前string[i] != string2[j],并且dp[i - 1] [j] > dp[i] [j – 1]3:当前string[i] != string2[j],并且dp[i - 1] [j] < dp[i] [j – 1]再利用递归方法求出具体的子

2020-12-15 23:52:08 10

原创 【动态规划法】最长公共子序列——ACM蓝桥杯训练,题目 2086: [蓝桥杯][算法提高VIP]

原题链接题目描述给定两个字符串,寻找这两个字串之间的最长公共子序列。输入输入两行,分别包含一个字符串,仅含有小写字母。输出最长公共子序列的长度。样例输入abcdghaedfhb样例输出3解法:动态规划思路:1. 确定dp数组表示什么:dp[i][j]指,string1[0到i]组成的字符串与string2[0到j]组成的字符串的最长公共序列**2. 找递推关系,**分两种情况:第一种,如果string1[i - 1] == string2[j - 1],那么最长公共子序列长

2020-12-15 23:44:28 37 1

原创 【分治】用四种方式计算大数乘法

在计算机中,通常用int,long来存储整形数字,但由于空间问题,当数字过大时,long也存储不了。因此当需要高精度计算大数的时候,该怎样处理呢?(不利用大数类)现目前我有三条思路模拟传统的人工乘法竖式优化的乘法分而治之利用BigInteger类1. 传统的人工乘法思路:将乘数的每一位与被乘数相乘,得到的结果后面追加适当的0元素,再将所有的结果相加即可此思路要用到额外的两个方法将两个大数相加一位数乘以多位数(包含一位数的情况)代码如下:/** 415. 字符串相加 */pu

2020-12-15 23:28:04 26

原创 【双指针又跑百分百】剑指 Offer 22. 链表中倒数第k个节点——双指针求解

原题链接题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.解法一:求长度锁定目标位置思路:根据之前做的剑指offer题目,这个链表不出意外是个不带头结点的链表先遍历一遍,求出整

2020-12-15 15:36:58 5

原创 【效率百分百】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面——笨方法和双指针

原题链接题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示1 <= nums.length <= 500001 <= nums[i] <= 10000解法一:交换奇偶数思路:从后面开始遍历,直到遇见第一个奇数此时从前面开始,直到遇见第一个偶数,记录偶数的下标如果偶数

2020-12-15 14:16:40 13

原创 【时间百分百】剑指 Offer 20. 表示数值的字符串——啥都不想说,简直太狗了

原题链接题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。解法一:控制好流程就行这个解法我写了一个小时,终于通过了public boolean isNumber(String s) { s = s.trim(); int index = 0; int len

2020-12-14 09:30:42 15

原创 【思路清晰】剑指 Offer 19. 正则表达式匹配——动态规划解法

原题链接题目描述请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。示例 1输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2输入:s = “aa”p = “a*”输出: true解释

2020-12-13 22:41:31 12

原创 剑指 Offer 17. 打印从1到最大的n位数——简单题目来走个形式

原题链接题目描述输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数解法:简单public int[] printNumbers(int n) { int m = (int) (Math.pow(10, n) - 1); int[] result = new int[m];

2020-12-12 12:26:43 8

原创 剑指 Offer 18. 删除链表的节点——变一个头结点出来

原题链接题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你

2020-12-12 12:24:49 12

原创 剑指 Offer 16. 数值的整数次方——快速幂,栈溢出,阐述java中最小值与最大值的关系

原题链接问题描述实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1输入: 2.00000, 10输出: 1024.00000示例 2输入: 2.10000, 3输出: 9.26100示例 3输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明-100.0 < x < 100.0n 是 32

2020-12-05 11:07:23 17

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除