![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 52
Eve慕
这个作者很懒,什么都没留下…
展开
-
时间复杂度和空间复杂度
算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间时间复杂度 计算时间复杂...原创 2017-05-15 20:38:47 · 49204 阅读 · 19 评论 -
【剑指Offer】重建二叉树
重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路前序遍历为“根-左-右”,中序遍历为“左-根-右”,就是根据前序和中序数组还原二叉树。那么我们手动还原的流程是:从前序遍历中找...原创 2018-07-26 22:21:36 · 153 阅读 · 0 评论 -
【剑指Offer】从尾到头打印链表(链表的逆序输出)
目录 题目描述解法一:使用栈解法二:递归解法三:将原链表逆转题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解法一:使用栈单向链表的逆序输出,我们可以很容易的想到使用一个栈作为辅助,栈的先进后出的特性能帮到我们大忙。(所以基础的数据结构是真的很重要)/*** public class ListNode {* ...原创 2018-07-25 20:20:48 · 414 阅读 · 0 评论 -
【剑指Offer】替换空格
替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解法一:使用同一个字符数组,不需要额外的数组思路这个题目和一般的替换空格最大的不同就是它是要用%20这三个字符来代替空格,所以整个字符串长度会随着空格个数增加,原字符串每有一个空格,结果字符串长度就需...原创 2018-07-24 20:38:00 · 165 阅读 · 0 评论 -
利用位运算的巧妙算法(剑指offer)
写剑指offer遇见两道题,题目都非常神经,求1+2+3+…+n但是啥都不能用,不用加减乘除做加法。最开始没什么思路,后面看了讨论,都是利用位运算来进行变换。求1+2+3+..+n题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。分析和代码来自题后讨论链接:https://www...原创 2018-05-29 14:56:31 · 1097 阅读 · 0 评论 -
约瑟夫环(数组模拟和数学推论的两种方法)
题目描述:原题为《剑指offer》圆圈中最后一个数,这里是简化描述 约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由0开始给他们编号。然后由第一个人开始报数,数到m-1的人出局。现在需要求的是最后一个出局的人的编号。 给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和m小于等于1000。 这篇文章分析的情况是编号为0~n-1,报...原创 2018-05-28 20:31:06 · 365 阅读 · 0 评论 -
LeetCode01 TwoSum
题目:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the ...原创 2018-03-12 10:53:09 · 149 阅读 · 0 评论 -
LeetCode 03 Median of Two Sorted Arrays
There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1: nums1 = [1, 3]...原创 2018-03-17 16:33:01 · 173 阅读 · 0 评论 -
LeetCode 03 Longest Substring Without Repeating Characters(最长不重复子序列)
Given a string, find the length of the longest substring without repeating characters.Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”, with...原创 2018-03-16 15:59:10 · 252 阅读 · 0 评论 -
LeetCode 02 Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i...原创 2018-03-16 12:54:40 · 159 阅读 · 0 评论 -
【剑指Offer】用两个栈实现队列&&用两个队列实现栈
用两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路: 栈是先进后出的数据结构,而队列是先进先出。为了实现队列,那么我们必须将数据先压入其中一个栈(栈A)中,数据压入完毕之后,将数据都出栈,并压入另一个栈(栈B)中,压入完毕之后栈B中元素出栈,就达到了先进先出的效果。 那么我们在push时所需要做的...原创 2018-08-07 11:17:07 · 365 阅读 · 1 评论