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》 递归和循环第三题:变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:青蛙有两种选择:跳一级或者跳两级。如果跳一级,则还剩下n-1级台阶需要跳,这时青蛙又面临着跳一级或者跳两级的选择;如果跳两级,则还剩下n-2级台阶需要跳,这时青蛙又面临着跳一级或者跳两级的选择。以此类推,每次跳跃青蛙都有两种选择,一直到最后一步跳上第n级台阶。即青蛙跳上
y6533
·
2024-01-04 13:00
算法
java
数据结构
《
剑指
offer》 链表第四题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:有两种方法,一种是非递归方法(双指针法),另一种是递归法。classListlcz4//非递归{classNode{intval;Nodenext;Node(intval){this.val=val;}}publicNodejoin(Nodelist1,Nodelist2){if(list1==null)returnlist2;if(list2==null)returnlist1;if(li
y6533
·
2024-01-04 13:59
java
数据结构
链表
《
剑指
offer》 链表第八题: 删除链表中连续重复的节点。
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->5。思路:这题的关键在于判断循环的条件,一定要捋清楚,while循环是总的一个循环,而while里的另一个while循环才是判断这个节点的值是否连续重复,如果重复,则一直将当前重复的节点指向下一个,直到下一个节点与当前节点不相
y6533
·
2024-01-04 13:59
链表
数据结构
《
剑指
offer》 字符串第一题:替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如:当字符串为“WeAreHappy",经过替换后为"We%20Are%20Happy"。解题思路:本题有两种思路。一种是创建一个新的并且为空的字符串来继承原字符串,一遇到空格则立马替换为%20,其他情况则继承原字符串的内容。publicStringinstead(Strings){if(s==null)returnnull;S
y6533
·
2024-01-04 13:59
算法
java
数据结构
《
剑指
offer》 链表第一题:从尾到头打印链表
//写在开头,博主是一名大专学生大一生,由于从九月份开始学习算法,但是一直处在理论学习,经老师推荐刷《
剑指
offer》,备战明年的蓝桥杯java组,写博客以此来记录学习之路,由于博主没有任何算法基础,从零开始学习
y6533
·
2024-01-04 13:29
链表
数据结构
java
《
剑指
offer》链表第三题:反转链表
此题有两种思路,一种是用三指针法,另一张是递归思想。以下是三指针法的解法:package链表;classListNode1{classNode{intval;Nodenext;Node(intval){this.val=val;}}publicNoderollback(Nodenode1){if(node1==null)returnnull;Nodeprev=null;Nodecur=node1;
y6533
·
2024-01-04 13:29
链表
数据结构
《
剑指
offer》数学第二题:求1+2+3+...+n
题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。思路:我们可以用递归和短路运算符来进行运算,具体代码如下。代码实现:package数学;importjava.util.Scanner;publicclassMath2{publicintsolution(intn){if(n==0)return0
y6533
·
2024-01-04 13:43
算法
(双指针 子数组)
剑指
Offer 48. 最长不含重复字符的子字符串
剑指
Offer48.最长不含重复字符的子字符串classSolution{public:intlengthOfLongestSubstring(strings){intcnt[300];memset(cnt
来到了没有知识的荒原
·
2024-01-04 11:23
剑指
Offer(第2版)面试题 68:树中两个结点的最低公共祖先
剑指
Offer(第2版)面试题68:树中两个结点的最低公共祖先
剑指
Offer(第2版)面试题68:树中两个结点的最低公共祖先解法1:递归拓展题:二叉搜索树的最近公共祖先解法1:两次遍历解法2:一次遍历
剑指
UestcXiye
·
2024-01-04 09:48
剑指
Offer
C++
剑指Offer
数据结构
算法
二叉树
递归
先序遍历
剑指
Offer(第2版)面试题 67:把字符串转换成整数
剑指
Offer(第2版)面试题67:把字符串转换成整数
剑指
Offer(第2版)面试题67:把字符串转换成整数解法1:模拟
剑指
Offer(第2版)面试题67:把字符串转换成整数题目来源:87.把字符串转换成整数解法
UestcXiye
·
2024-01-04 09:17
剑指
Offer
C++
剑指Offer
数据结构与算法
字符串
【LeetCode-
剑指
offer】-- 13.二维区域和检索-矩阵不可变
13.二维区域和检索-矩阵不可变方法:一维前缀和初始化时对矩阵的每一行计算前缀和,检索时对二维区域中的每一行计算子数组和,然后对每一行的子数组和计算总和。具体实现方面,创建m行n+1列的二维数组sums,其中m和n分别是矩阵matrix的行数和列数,sums[i]为matrix[i]的前缀和数组。将sums的列数设为n+1的目的是为了方便计算每一行的子数组和,不需要对col1=0的情况特殊处理。c
小d<>
·
2024-01-04 07:18
#
剑指offer
leetcode
算法
Leetcode-递归
文章目录q21合并两个有序链表q101对称二叉树q104二叉树的最大深度q226翻转二叉树q236二叉树的最近公共祖先
剑指
Offer10-I.斐波那契数列
剑指
Offer10-II.青蛙跳台阶问题q21合并两个有序链表题目传送门题解可以使用递归和迭代两种方法进行求解
jenrain
·
2024-01-04 05:39
LeetCode
leetcode
python数据结构
剑指
offer-重建二叉树
例题描述给定节点数为n的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,5,3,6,7}和中序遍历序列{4,2,5,1,6,3,7},则重建出如下图所示。解决思路因为先序遍历根中序遍历是保存在数组中的,所以我们需要利用数组的性质,而不是上来就利用二叉树的性质,刚开始我是按照二叉树来做的,直到我失败了无数次之后,看到了函数的传入值是两个list,我
漫漫行程路
·
2024-01-04 01:01
python数据结构
数据结构
python
算法
java数据结构与算法刷题-----LeetCode746. 使用最小花费爬楼梯
java数据结构与算法刷题目录(
剑指
Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:05
算法
java
算法
leetcode
java数据结构与算法刷题-----LeetCode70. 爬楼梯
java数据结构与算法刷题目录(
剑指
Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:35
算法
java
leetcode
算法
java数据结构与算法刷题-----LeetCode509. 斐波那契数
java数据结构与算法刷题目录(
剑指
Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article
殷丿grd_志鹏
·
2024-01-03 22:02
算法
java
leetcode
算法
剑指
“CPU飙高”问题
一、什么是cpu飙高?一般指程序运行时cpu占用率过高 linux系统中,我们使用top命令,会看到正在运行进程的cpu使用率等,同时在最上面也会看到总的cpu使用率,当总的cpu使用率过高,如果有运维监控平台,则一般我们会设置阈值大于80%就会发生报警。一般来讲,我们说的cpu飙高指的是系统总的cpu高。我们会看到有用户进程使用的cpu使用率可能会300%乃至600%等,这时候如果是正常的cp
ldxxxxll
·
2024-01-03 22:16
java
服务器
前端
【LeetCode-
剑指
offer】--16.无重复字符的最长子串
16.无重复字符的最长子串方法:滑动窗口classSolution{publicintlengthOfLongestSubstring(Strings){intn=s.length();Setset=newHashSet<>();intl=0,ans=0;for(inti=0;i
小d<>
·
2024-01-03 18:36
#
剑指offer
leetcode
算法
【LeetCode-
剑指
offer】--15.找到字符串中所有字母异位词
15.找到字符串中所有字母异位词方法:滑动窗口classSolution{publicListfindAnagrams(Strings,Stringp){Listans=newArrayListm){returnans;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:06
#
剑指offer
leetcode
算法
【LeetCode-
剑指
offer】-- 14.字符串的排列
14.字符串的排列方法:滑动窗口classSolution{publicbooleancheckInclusion(Strings1,Strings2){intm=s1.length(),n=s2.length();if(m>n){returnfalse;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:05
#
剑指offer
leetcode
算法
【LeetCode-
剑指
offer】-- 9.乘积小于K的子数组
9.乘积小于K的子数组方法:滑动窗口关于为什么子数组数目为j-1+1。这时候就要理解采用滑动窗口的思路其实是枚举子数组的右端点,然后来找到满足条件的最小左端点。也即当得到满足条件的窗口时,就意味着得到了以j作为右端点时满足条件的左端点的最小值。那么此时满足条件的子数组个数当然就等于窗口能所有能作为左端点的位置个数,即j-i+1。classSolution{publicintnumSubarrayP
小d<>
·
2024-01-03 18:31
#
剑指offer
leetcode
算法
剑指
Offer 68 - II. 二叉树的最近公共祖先-Python题解
给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root=[3,5,1,6,2,0,8,null,null,7,4]示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=
AiBigData
·
2024-01-03 17:40
算法
二叉树
剑指
Offer - 14 - 链表中倒数第k个结点
题目描述链表中倒数第k个结点输入一个链表,输出该链表中倒数第k个结点。思路准备两个指针,第一个指向头,让第二个先往后走k步,之后再同时走,当第二个指针到达尾部时第一个指针指向的刚好就是倒数第k个节点CodePython#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#self.next=NoneclassSolut
vouv
·
2024-01-03 12:19
LeetCode 练习——关于查找数组元素之和的两道题
1.数组中和为0的三个数1.1题目描述
剑指
OfferII006.排序数组中两个数字之和给定一个已按照升序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于目标数target。
SK_Jaco
·
2024-01-03 02:37
2022-01-12
IT工业界1.力扣:反转链表2022-01-12(
剑指
Offer24.反转链表)英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2024-01-02 21:42
剑指
Offer II 016. 不含重复字符的最长子字符串- python两种解法
题目描述:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s=“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。例2:输入:s=“bbbbb”输出:1解释:因为无重复字符的最长子串是“b”,所以其长度为1。解题思路:方法一:滑动窗口。用一个窗口来维护当前的子串,用一个HashSet来判断窗口中是否有重复的字符。每次移动右边界扩张子串
算法部落
·
2024-01-02 19:05
python版本
python
算法
leetcode
面试
每日一练(4):用两个栈实现队列
title:每日一练(4):用两个栈实现队列categories:[
剑指
offer]tags:[每日一练]date:2022/01/17每日一练(4):用两个栈实现队列用两个栈实现一个队列。
加班猿
·
2024-01-02 12:36
二叉树的下一个节点
题目来源:
剑指
Offer思路首先需要知道中序遍历下各位置节点的下一个节点在哪。
是我真的是我
·
2024-01-02 09:01
剑指
Offer II 085. 生成匹配的括号
地址:https://leetcode.cn/problems/IDBivT/题目描述:代码:classSolution{publicListgenerateParenthesis(intn){dfs(n,"",0,0);returnlist;}Listlist=newLinkedList();publicvoiddfs(intn,Strings,intl,intr){if(r>l)//右括号的数
学姐抱抱.
·
2024-01-02 07:26
算法
深度优先
leetcode
算法
剑指
offer题解合集——Week2day7
文章目录
剑指
offerWeek2周日:链表中倒数第k个节点AC代码思路:周日:链表中环的入口结点AC代码思路:
剑指
offerWeek2周日:链表中倒数第k个节点题目链接:链表中倒数第k个节点输入一个链表
Azxcc0
·
2024-01-02 05:41
剑指offer
算法
leetcode
剑指offer
c++
剑指
Offer——二叉搜索树与双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路二叉搜索树的中序遍历,就是二叉搜索树的顺序排序。二叉树的中序遍历,实际上分为了3个部分,左子树,根,右子树。当遍历完左子树时,左子树已经是一个排好序的链表了,并且链表中的最后一个结点,是当前的最大值。只需要将根节点跟链表最后一个结点链接起来。然后再去遍历转换右子树。对于
Mereder
·
2024-01-02 05:32
精妙的故事结构
剑指
奥斯卡,斩获最佳国际影片奖-《驾驶我的车》
文/安晴兰编辑/席婕寒第九十四届奥斯卡金像奖,已在美国时间3月27日落下帷幕。这一届的奥斯卡奖,大家的关注度很高,不仅因为颁奖台上威尔史密斯的呼巴掌插曲震惊全球,更由于此次参与角逐的众多入围影片,各有精彩之处,可圈可点,犹如神仙打架,在颁奖前,大家几乎难以预测相关大奖的落点。但是,五部入围的最佳国际影片,大家倒是意见一致,坊间的预测与最终得奖名单,都花落日本影片《驾驶我的车》。《驾驶我的车》是由滨
知名作家编剧王梅
·
2024-01-02 00:42
面试高频算法专题:继续讨论数组问题(算法村第三关黄金挑战)
数组的问题不会做,不是说明你数组没学好,而是没学好用好Hash、集合、位运算等出现次数超过一半的数字(
剑指
offer)数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
陈星泽SSR
·
2024-01-01 20:24
算法村
算法
面试
哈希算法
双指针算法(超详细带8道例题及算法解析) —— 包含力扣题目有283移动零、1089复写零、202快乐数、11盛水最多的容器、611有效三角形的个数、179双数之和、15三数之和、18四数之和
等)——保姆级教程目录双指针算法解析1、力扣283.移动零2、力扣1089复写零3、力扣202快乐数4、力扣11盛水最多的容器5、力扣611有效三角形的个数6、力扣179查找总价为目标值的两个商品/原
剑指
dream_ready
·
2024-01-01 20:44
leetcode
算法
java
c++
python
c语言
【算法】【
剑指
Offer】旋转数组求最小值
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:既然数组本来是一个非递减数组,那么就说明是自小到大顺序的,但不排除有重复值。经过旋转后,第一个数字作为最小值,就被
沙漠里de小孩子
·
2024-01-01 19:41
剑指
Offer 35. 复杂链表的复制
题目描述请实现copyRandomList函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。输入:head=[[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]解题思路遍历链表,将每一个节点存入nodes数
BitterOutsider
·
2024-01-01 13:43
[
剑指
offer][Java]二叉搜索树的后序遍历序列
题目输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。程序核心思想后序遍历是先遍历左子树,再遍历右子树,最后遍历根节点。二叉搜索树是对于每一个根节点来说,其左子树的值小于根节点的值,右子树的值大于根节点的值。所以在这个题目中,如果是后序遍历序列的话,最后一个值是根节点。可以先找到其左子树的部分(小于根节点),然
Maxinxx
·
2024-01-01 07:31
【数据结构与算法】:交换排序之快速排序(手绘图解+LeetCode原题)
四、算法分析时间复杂度五、快排思想在实际题目中的运用题目一、
剑指
Offer40.最小的k个数一、快速排序1.什么是快速排序?
.29.
·
2024-01-01 06:05
数据结构与算法
排序算法
算法
数据结构
java
常见算法面试题目
剑指
offer
剑指
offe2leetcode200题leetcode100题leetcode150题leetcode75题文章目录前言二叉树非递归遍历牛客JZ31栈的压入、弹出序列(8/4)JZ4二维数组中的查找
天下一般
·
2024-01-01 06:46
算法
面试
职场和发展
剑指
Offer(第2版)面试题 63:股票的最大利润
剑指
Offer(第2版)面试题63:股票的最大利润
剑指
Offer(第2版)面试题63:股票的最大利润解法1:暴力解法2:动态规划拓展题
剑指
Offer(第2版)面试题63:股票的最大利润题目来源:AcWing83
UestcXiye
·
2024-01-01 04:11
剑指
Offer
C++
剑指Offer
数据结构与算法
动态规划
剑指
Offer(第2版)面试题 64:求1+2+…+n
剑指
Offer(第2版)面试题64:求1+2+…+n
剑指
Offer(第2版)面试题64:求1+2+…+n解法1:构造函数解法2:虚函数解法3:数组
剑指
Offer(第2版)面试题64:求1+2+…+n题目来源
UestcXiye
·
2024-01-01 04:11
剑指
Offer
C++
剑指Offer
LeetCode-题目详解(一):数组
这里写目录标题1.两数之和【简单】
剑指
Offer03.数组中重复的数字【简单】45.跳跃游戏II【中等】48.旋转图像15.三数之和【中等】53.最大子数组和【简单】88.合并两个有序数组【简单】54-
u013250861
·
2024-01-01 02:19
LeetCode
数组
《
剑指
Offer》学习笔记--面试题11:数值的整数次方
题目:实现函数doublePower(doublebase,intexponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。我们都知道在C语言的库中有一个pow函数可以用来求乘方,本题要求实现类似于pow的功能。要求实现特定库函数(特别是处理数值和字符串的函数)的功能,是一类常见的面试题。自以为题目简单的解法由于不需要考虑大数问题,这道题看起来很简单,可能不少应
Citronnelle2
·
2024-01-01 02:27
《
剑指
Offer》学习笔记--面试题32:从1到n整数中1出现的次数
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。不考虑时间效率的解法,靠它想拿到Offer有点难如果在面试的时候碰到这个问题,应聘者大多能想到最直观的方法,也就是累加1到n中每个整数1出现的次数。我们可以每次通过对10求余数判断整数的个位数字是不是1.如果这个数字大于10,除以10之后再判
Citronnelle2
·
2024-01-01 02:27
剑指
Offer - 面试题15:二进制中1的个数
题目请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如,把9表示成二进制是1001,有俩位是1.因此,如果输入9,则函数输出2。类似题目在leetcoed上191.位1的个数也有。分析求余法我们让num每次%2求余,得到是1就让count++;然后让num/2。直到num为0为止。缺陷就是不能判断负数。C#includeintNumberOf(intn){intcount=0;whi
林夕07
·
2024-01-01 02:26
#
剑指Offer系列
算法
c语言
数学
面试
剑指
offer-面试题66:构建乘积数组
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B[i]的值是数组A中除了下标i以外的元素的积,即B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入:[1,2,3,4,5]输出:[120,60,40,30,24]提示:所有元素乘积之和不会溢出32位整数a.length=0;i--){temp*=a[i+
xqxls1
·
2024-01-01 02:55
数据结构和算法
算法
数据结构
leetcode
java
面试
剑指
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为正整数方法一(暴力法)1.解题思路首先确定最大的n位十进制数,然后从头到尾依次添加到结果数组2.代码实现classSolution{publicint[]printNumbers(in
xqxls1
·
2024-01-01 02:25
数据结构和算法
数据结构
leetcode
算法
java
剑指
offer-面试题16:数值的整数次方
题目描述实现pow(x,n),即计算x的n次幂函数(即xn)。不得使用库函数,同时不需要考虑大数问题。示例1:输入:x=2.00000,n=10输出:1024.00000示例2:输入:x=2.10000,n=3输出:9.26100示例3:输入:x=2.00000,n=-2输出:0.25000解释:2-2=1/22=1/4=0.25提示:-100.0
xqxls1
·
2024-01-01 02:24
数据结构和算法
数据结构
leetcode
java
面试
剑指
offer-专项突破版(1-25)
1.整数除法packagecom.lxh.special;/*题目介绍**输入2个int型整数,他们进行除法计算并返回商,要求不得使用乘号'*',*除号'/'以及求余符号'%'.当发生溢出时,返回最大的整数值.假设除数*不为0.***//**divide划分*dividend股利红利*divisor除数*core核心**/publicclassIntegerDivision01{publicint
无言Tiger
·
2024-01-01 01:53
offer
java
算法
剑指
offer-3-面试题11:数值的整数次方(对错误的处理)
题目分析自以为题目简单的解法全面但不够高效的解法全面又高效的解法测试用例代码本题考点题目实现函数doublePower(doublebase,intexponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。本题要求实现类似于pow的功能。要求实现特定库函数(特别是处理数值和字符串的函数)的功能,是一类常见的面试题。分析自以为题目简单的解法由于不需要考虑大数问题,
happy_XYY
·
2024-01-01 01:52
C++
Data
structure
&
algorithm
notes
剑指offer
剑指offer
对错误的处理
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他