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刷题
剑指offer刷题
之c++实现的调整数组顺序使奇数位于偶数前面
#include"myHead.h"/**调整数组顺序,使得奇数全部放左边,偶数全部放右边,不考虑原来数组中的奇(偶)数之间相对顺序*/intcondition(intx);voidreOrderArray(vector&array){inti=0,j=array.size()-1,temp;while(ipre;pre.push_back(1);pre.push_back(2);pre.push
12小白
·
2020-08-05 02:06
算法
剑指offer _刷题思路总结_从尾到头打印链表
@
剑指offer刷题
思路总结_题目6思路整理:1.遍历一遍链表存入vector中2.利用vector(v.rbegin(),v.rend())就可以实现逆序输出了当然也可以用模拟栈或者递归来实现这里算是比较偷懒了代码实现
severnyu
·
2020-08-04 22:07
牛客网
剑指offer刷题
Java版-35数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。*法一:找到第一个k,然后向左右两边找。publicclassSolution{publicintGetNumberOfK(int[]array,intk){if(array.length==0)return0;intindex=FindIndex(array,k,0,array.length-1);if(index==-1)return0;else{i
薛定谔的萨摩耶
·
2020-08-04 17:33
Java刷题
剑指offer面试题总结||所有习题||思路解析||代码实现||c/c++(持续更新中)
offer———重建二叉树剑指offer———二维数组中的查找剑指offer————用两个栈实现队列剑指offer————替换空格剑指offer————从尾到头打印链表剑指offer————旋转数组的最小数字
剑指
WolfOnTheWay
·
2020-08-04 17:52
刷题
剑指offer刷题
总结——字符串篇(一)
星级:1,31.字符串的排列【题目】输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。【代码】packageswear2offer.strs;importjava.util.ArrayList;import
温柔的谢世杰
·
2020-08-04 16:06
Java面试知识汇总
面试
算法
剑指offer刷题
总结——数组篇(五)
1.数字在排序数组中出现的次数【题目】统计一个数字在排序数组中出现的次数。【代码】publicintGetNumberOfK(int[]array,intk){if(array.length==0||array==null)return0;inti,n,count;n=array.length;count=0;for(i=0;i>1;if(a[mid]>1;if(a[mid]>=k){end=mi
温柔的谢世杰
·
2020-08-04 16:06
Java面试知识汇总
面试
算法
剑指offer刷题
(二)
1.题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy时间复杂度O(n)思路:计算出字符串的长度,以及新字符串的长度(原长度+2*空格数),两个指针,一个指向新字符串结尾,一个指向原字符串结尾,从后到前赋值字符串,由于新字符串尾指针大于原字符串尾指针,所以不会产生覆盖,减少移动次数,从而提
Rui012345
·
2020-08-04 16:02
数据结构与算法
【LeetCode &
剑指offer刷题
】数组题1:Two Sum(系列)
【LeetCode&
剑指offer刷题
】数组题1:TwoSum(系列)【LeetCode&
剑指offer刷题
笔记】目录(持续更新中...)1.TwoSumGivenanarrayofintegers,returnindicesofthetwonumberssuchthattheyadduptoaspecifictarget.Youmayassumethateachinputwouldhaveexa
wikiwen
·
2020-08-04 15:00
剑指offer刷题
详细分析:part2:6题——10题
剑指offer所有题目详解,可访问我的github项目:KongJetLin-offer目录Number6:旋转数组的最小数字Number7:裴波那契数列Number8:跳台阶Number9:变态跳台阶Number10:矩形覆盖题目6旋转数组的最小数字 题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组
KongJetLin
·
2020-08-04 12:25
剑指offer
剑指offer
数据结构
算法
牛客网
剑指offer刷题
笔记:二维数组中的查找(Python实现)
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。Solution:因为数组是有序的,所以可以从左下角开始比较,若target=左下角数组元素则直接返回True,若target>左下角数组元素则数组元素右移;若target=0andjmatrix[
5星上将
·
2020-08-04 12:49
牛客刷题
【LeetCode &
剑指offer刷题
】数组题13:21 调整数组顺序使奇数位于偶数前面
【LeetCode&
剑指offer刷题
】数组题13:21调整数组顺序使奇数位于偶数前面【LeetCode&
剑指offer刷题
笔记】目录(持续更新中...)21调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组
wikiwen
·
2020-08-04 11:54
剑指offer刷题
1、二维数组中查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:可以利用从左到右递增、从上到下递增的特点,开始从数组最右上角开始查找。如果array[rows][cols]比该整数小则row++,如果比该整数大则col--,找到返回Tru
悠闲独自在
·
2020-08-01 14:02
6月&
剑指offer刷题
记录
剑指offer刷题
记录一、贪心题1、剪绳子给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。
不忘初心Eternity
·
2020-07-31 23:52
数据结构与算法
剑指offer刷题
(三)(44-66)题
44翻转单词序列牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student.aamI”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“Iamastudent.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?/*首先先把除了空格每个词都反转
一枝韩独秀
·
2020-07-29 12:33
趣味编程
剑指offer
C++
剑指offer刷题
(二)(21-43)题
21栈的压入、弹出输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)classSolution{public:boolIsPopOrder(vect
一枝韩独秀
·
2020-07-29 12:33
趣味编程
剑指offer
C++
剑指offer刷题
(一刷)笔记 2019.12.15
2020.2.14面试题03:数组中重复的数字题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:hash或vector方法一:vectorclassSolution{publ
人大神成长记2
·
2020-07-28 21:58
剑☞offer
剑指offer刷题
之java实现的从上往下打印二叉树
packagemine;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.Queue;/****@author毛二*@data2015-8-9*@comments层次遍历二叉树*从上往下打印出二叉树的每个节点,同层节点从左至右打印。*访问根节点,并将根节点入队。*当队列不空的时候,重复以下操作。*1、弹出一个元
12小白
·
2020-07-28 13:30
算法
剑指offer刷题
笔记(1)
明年就要春招找实习了,今天考研最后一天,有的人考研快结束了,我的考研生活才刚刚开始,奋战一百天,BAT搬砖不是梦。39.二叉树深度知识点:二叉树遍历(后序遍历),其实前序遍历也是可以的classSolution{public:intTreeDepth(TreeNode*pRoot){if(pRoot==NULL)return0;intleft=TreeDepth(pRoot->left);intr
Zaki_huang
·
2020-07-28 11:34
算法
[Python笔记]
剑指offer刷题
记录——进度50/75
剑指offer刷题
记录LeetCode上的剑指offer题刷题ing26.树的子结构#1.双递归classSolution:defisSubStructure(self,A:TreeNode,B:TreeNode
Rinnki
·
2020-07-28 09:53
Python笔记
[Python笔记]
剑指offer刷题
记录——进度25/75
剑指offer刷题
记录LeetCode上的剑指offer题刷题ing…3.数组中重复的数字#遇见了得先问面试官时间和空间复杂度的要求#1.排序+一个下一个#时间O(nlogn)空间O(1)classSolution
Rinnki
·
2020-07-28 09:53
Python笔记
【LeetCode &
剑指offer刷题
】动态规划与贪婪法题7:47:礼物的最大价值
【LeetCode&
剑指offer刷题
】动态规划与贪婪法题7:47:礼物的最大价值【LeetCode&
剑指offer刷题
笔记】目录(持续更新中...)47:礼物的最大价值题目:在一个m*n的棋盘的每一格都放有一个礼物
wikiwen
·
2020-07-28 01:13
剑指offer刷题
第二题
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。classSolution{public:voidreplaceSpace(char*str,intlength){intoldlength=0,newlength=0,count=0;for(inti=0;str[i]!='\0';i++){o
NEU_LC
·
2020-07-27 11:20
剑指offer
剑指offer刷题
第一题
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二分法解决此问题。classSolution{public:boolFind(inttarget,vector>array){for(inti=0;iarray[i][mid])top=mid+1;elsei
NEU_LC
·
2020-07-27 11:20
剑指offer
剑指offer刷题
34、35—二叉树中和为某一值的路径、复杂链表的复制
34二叉树中和为某一值的路径题目输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路深度优先搜索。使用前序遍历,使用两个全局变量result和tmp,result来存放最终结果,tmp用来存放临时结果。每次遍历,我们先把root的值压入tmp,然后判断当前root是否同时满足:与给定数值相减为0;左子树为空
心中藏着一个猛兽
·
2020-07-16 07:06
@ 剑指offer(python)把数组排成最小的数
剑指offer刷题
笔记32(python)题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
乖乖的函数
·
2020-07-15 23:19
剑指offer(python)
剑指offer刷题
笔记||03.数组中重复的数字(python)
剑指offer刷题
笔记||03.数组中重复的数字(python)题目描述:解题思路因为题目只要求输出其中的一个重复数,所以可以对其经进行排序,然后用第一个数对后面进行比较,找到重复值便返回即可。
跳舞的猴子
·
2020-07-15 16:16
剑指offer
leetcode
python
leetcode
python
算法
剑指offer刷题
笔记||09.用两个栈实现队列(python)
剑指offer刷题
09.用两个栈实现队列题目描述:我的做法:classCQueue(object):def__init__(self):self.A=[]self.B=[]defappendTail(self
跳舞的猴子
·
2020-07-14 21:08
剑指offer
leetcode
python
leetcode
队列
剑指Offer
剑指offer刷题
笔记||04.二维数组中的查找(python)
二维数组中的查找题目描述解题思路:可以选择从右上角或从左下角开始寻找,以从左下角为例,设左下角值为a,a往上移动,数值变小;a往右移动,数值变大。当a>target时,上移,当a=0orjmatrix[i][j]:j+=1else:returnTruereturnFalse从右上角查找同理。
跳舞的猴子
·
2020-07-13 21:48
剑指offer
python
leetcode
剑指Offer
算法
剑指offer刷题
笔记(Java版)---- 构建乘积数组
本題首先需要清楚的理解題目的意思,然後在去想法解題。题目描述给定一个数组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]。不能使用除法。有些題目看着不是很清晰的話,可以適當的去畫圖觀察一下,比如本題數組就取A[1,2,3,4,5]這些元素。那麼B[i]與A[]的關系畫個圖就
卷曲的葡萄藤
·
2020-07-13 19:46
Python
Algorithm
JAVA
剑指offer刷题
笔记(Java版)---- 找出数组重复数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。简单而言就是:找出数组中重复的数字存入到一个数组中。解法一:简单想法就是利用hashmap,遍历数组放入hashmap中,每次判断
卷曲的葡萄藤
·
2020-07-13 19:46
Algorithm
JAVA
剑指offer刷题
笔记(牛客网C++)
文章目录数组4、二维数组中的查找1、暴力查找:循环遍历,O(n2)2、利用递增的规律,右上或左下查找:当最右上的数字大于查找值时,将此列删除;如果小于查找值时,将此行删除;如果等于,则查找结束。N=max(m,n),O(N)3、二分法:把每一行当成有序一维数组,对每一行进行二分查找。O(mlogn)字符串5、替换空格1、暴力解法:直接从前往后遍历替换,时间复杂度O(n2)。不可取。2、从后往前:先
刀耕火种why
·
2020-07-12 12:39
LeeCode刷题
剑指offer刷题
记录(已更19题)
二刷剑指offer,第一遍的基本都忘了,总结一下。题型查找16字符串244链表3树417队列栈5递归71.二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析:二维数组每行依次递增,每列依次递增。如果从二维数组左上角开始判断,当查找值大于此
嘟嘟杜
·
2020-07-11 17:29
算法题
牛客网
剑指offer刷题
3--------- 从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。方法一:栈/***structListNode{*intval;*structListNode*next;*ListNode(intx):*val(x),next(NULL){*}*};*/classSolution{public:vectorprintListFromTailToHead(ListNode*head){vectorresult;
Sherry0924
·
2020-07-11 17:19
剑指offer
cyc2018
剑指offer刷题
-3.数组重复数字问题
文章目录附:[java常见STL](https://blog.csdn.net/qq_42794545/article/details/88250939)3.数组中重复的数字题目描述双重循环比较就太粗糙了时间复杂度O(n2),不做讨论extend:C++保险判别空指针1.初始菜鸟思路基于排序2.空间换时间3.利用题目独有的特性附:java常见STL3.数组中重复的数字题目描述在一个长度为n的数组里
皮皮cat
·
2020-07-10 00:21
C++
c++算法
剑指offer刷题
笔记(一)
剑指offer刷题
笔记(一)面试题03找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。
三点油
·
2020-07-09 21:24
@剑指offer(Python)数值的整数次方
剑指offer刷题
笔记12(Python)题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
乖乖的函数
·
2020-07-09 16:27
剑指offer(python)
剑指Offer刷题
总结
1、二维数组中的查找题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:仔细观察,找规律。可以从左下角(右上角)开始查找。若当前的数小于目标值,则向右(向下)一个数继续查找;若当前的数大于目标值,则向上(向左)一个数继续查找;等于就不用
方小傑
·
2020-07-08 20:36
剑指Offer
剑指offer刷题
(Python版本)67.箭绳子
67.题目给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。分析:(1)用动态规划的方法,即问题的最优解分解为若干个子问题的最优解。如长度为8的绳子,可以
楠仔码头
·
2020-07-08 18:18
算法
python
剑指Offer刷题
系列-20二叉树中和为某一值的路径!!!
题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。#-*-coding:utf-8-*-#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneimportcopyclassSolution:#
春风吹23
·
2020-07-08 18:36
剑指Offer
剑指offer刷题
笔记(六)
剑指offer刷题
笔记(六)剑指Offer42.连续子数组的最大和输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。
三点油
·
2020-07-08 15:09
剑指offer刷题
笔记(四)
剑指offer刷题
笔记(四)面试题26.树的子结构输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构,即A中有出现和B相同的结构和节点值。
三点油
·
2020-07-07 13:54
【LeetCode &
剑指offer刷题
】字符串题6:67 把字符串转成整数
【LeetCode&
剑指offer刷题
】字符串题6:67把字符串转成整数【LeetCode&
剑指offer刷题
笔记】目录(持续更新中...)67把字符串转成整数题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数
wikiwen
·
2020-07-07 12:47
【LeetCode &
剑指offer刷题
】动态规划与贪婪法题3:剑指Offer-46:把数字翻译成字符串...
【LeetCode&
剑指offer刷题
】动态规划与贪婪法题3:剑指Offer-46:把数字翻译成字符串【LeetCode&
剑指offer刷题
笔记】目录(持续更新中...)剑指Offer-46:把数字翻译成字符串题目
wikiwen
·
2020-07-07 12:46
@ 剑指offer(Python) 二维数组中的查找
剑指offer刷题
笔记1(Python)题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
乖乖的函数
·
2020-07-07 08:21
剑指offer(python)
头部大厂面试必备
剑指offer刷题
指南 v0.1
目录1.开篇明义2.在哪里刷题2.1Leetcode2.2牛客网nowcoder3.准备工作视频课程专栏资料书籍资料4.如何刷题刷题六步法第一步第二步第三步第四步第五步第六步刷哪些题补充说明1.开篇明义本专栏只做三件事:刷题!刷题!还是刷题!!!剑指offer作为系统刷题的入门还是很合适的,后续还会针对进阶的刷题写相应的专栏。2.在哪里刷题不需要本地编辑器,这里推荐两个刷题必备的网址:2.1Lee
zaiwuhan2014
·
2020-07-07 03:06
牛客网
剑指offer刷题
笔记:重建二叉树(Python实现)
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。Solution:已知前序遍历和中序遍历,那么可以知道根节点,然后又分别知道左右子树的节点,运用递归即可。CODE:#-*-coding:utf-8-*-#
5星上将
·
2020-07-06 21:21
牛客刷题
剑指offer刷题
之c++实现的反转链表
#include"myHead.h"#include"allListNode.h"/*反转链表。不采用头插法。采用尾插法直接将指针掉头*/ListNode*ReverseList(ListNode*pHead){if(pHead==NULL){returnNULL;}ListNode*pre;ListNode*p;pre=NULL;while(pHead!=NULL){p=(ListNode*)m
12小白
·
2020-07-05 17:42
算法
剑指offer刷题
之c、c++实现的翻转单词顺序列
题目:翻转单词顺序参考文献:剑指offer何海涛老师P220第4题颠倒一个句子中的词的顺序C++string学习1.翻转整个句子如Iamalex!--->!xelaamIvoidreverseSentence(char*sen,intn){intstart=0;//!intend1=sizeof(sen)/sizeof(sen[0])-1;//!printf("end1=%d\n",end1);i
12小白
·
2020-07-05 17:42
算法
剑指offer刷题
————把数组排成最小的数
问题重述:题目:输入一个正整数数组,把数组里所有的数组拼接起来排成一个数,打印能拼接出的所有数字中最小的一个,例如输入数组{3,32,321},则打印出着3个数字能排成的最小数字321323。思路解析:首先,因为拼接起来的数可能会超出范围,因此用字符串来存储。我们需要一个最小的数,细想一下可知,如果有两个字符串a,b,如果a+bnums){vectorstr;for(intval:nums)str
WolfOnTheWay
·
2020-07-05 09:17
刷题
剑指offer刷题
————连续子数组的最大和
问题重述:题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和为18.思路解析:动态规划方法在解决此问题的时候非常高效。状态定义:dp[i]表示以i结尾的连续子数组的最大和。所以最终要求
WolfOnTheWay
·
2020-07-05 09:16
刷题
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他