
剑指offer
阿里爸爸我来啦!
这个作者很懒,什么都没留下…
展开
-
【剑指Offer】【Java】6.从尾到头打印链表【链表】
转自牛客网【叫我皮卡丘】一、四转自牛客网【CyC2018】二、三题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。一、非递归分析listNode 是链表,只能从头遍历到尾,但是输出却要求从尾到头,这是典型的"先进后出",我们可以想到栈!ArrayList 中有个方法是 add(index,value),可以指定 index 位置插入 value 值所以我们在遍历 listNode 的同时将每个遇到的值插入到 list 的 0 位置,最后输出 listNode 即可得到逆原创 2020-06-10 22:54:23 · 130 阅读 · 0 评论 -
【算法的时间复杂度和空间复杂度】时间复杂度和空间复杂度介绍以及常见的大小比较
在实际开发中,通常会选择以空间换时间。时间复杂度:是对一个算法运行时间长短的量度,用大O表示,记作T(n)=O(f(n))。常见的时间复杂度按照从低到高的顺序,包括O(1)、O(logn)、O(n)、O(nlogn)、O(n^2)由于受运行环境和输入规模的影响,代码的绝对执行时间是无法预估的。但我们却可以预估代码的基本操作执行次数。设T(n)为程序基本操作执行次数的函数(也可以认为是程序的相对执行时间函数),n为输入规模,以下场景为程序中最常见的4种执行方式:场景1: T(n)=3n, 执原创 2020-05-15 22:48:44 · 1470 阅读 · 0 评论 -
【剑指offer】【Java】5.替换空格【字符串】
转自牛客网【叫我皮卡丘】5.替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。一、调用自带函数代码public class Solution{ public String replaceSpace(StringBuffer str){ return str...原创 2020-02-20 23:13:27 · 119 阅读 · 0 评论 -
【剑指offer】【Java】4.二维数组的查找【数组】
转自牛客网4.二维数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。一、暴力法分析挨个遍历数组,如果找到就返回true代码public class Solution{ public boolean Find(in...原创 2020-02-20 22:54:20 · 105 阅读 · 0 评论 -
【剑指offer】【Java】3.数组中重复的数字【数组】
转自牛客网3.数组中重复的数字题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。答案解析一、排序分析将输入数组排序,再判断相邻位置是否存在相同数字,如果存在,对 ...原创 2020-02-20 20:04:04 · 209 阅读 · 0 评论