DesmonDay's Blog

一只小辣鸡的自我拯救之路


  • 首页

  • 分类

  • 归档

  • 标签

剑指Offer-跳台阶

发表于 2019-01-15 | 分类于 剑指Offer
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解题思路原来这个是数学归纳题,而我却误以为则应该是很难得动态规划之类的题目。其实最重要的,是分析求解的思路,找到规律或方法。这题如果能够认真的归纳,可以发现其实就如同斐波那契数列。当n=1时结果为1,当n=2时结果为2,之后地再直接递推便可得到。 123456789101 ...
阅读全文 »

剑指Offer-斐波那契数列

发表于 2019-01-15 | 分类于 剑指Offer
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 解题思路根据以往经验可以知道,计算斐波那契数列不适合用递归的写法,因此我并没有考虑写递归,而是书写了for循环的版本来替代。最开始的写法如下。这样的写法也对,但是相比另一种for循环版本而言,需要耗费一点点的存储空间,因此也有了第二种写法。1234567891011cla ...
阅读全文 »

剑指Offer-旋转数组的最小数字

发表于 2019-01-15 | 分类于 剑指Offer
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 解题思路最笨的方法一轮遍历查找,算法复杂度为O(n),这样肯定找不到工作。123456789101112class ...
阅读全文 »

剑指Offer-用两个栈实现队列

发表于 2019-01-14 | 分类于 剑指Offer
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路分析题目简单,但是我和之前在考研复习时所做的一题弄混了。王道书上的栈是用顺序表实现的,有长度的规定,而这道题是用STL模板库的栈,栈没有元素数目的限制,因此在入栈时直接入栈即可,不需要考虑其他情况。 代码如下: 123456789101112131415161718192021222324252627 ...
阅读全文 »

剑指Offer-重建二叉树

发表于 2019-01-14 | 分类于 剑指Offer
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路这题不应该写不出来,要记住的是,不仅仅中序遍历的序列要划分为左右子树的部分,前序遍历也需要划分为左右子树!!用递归来做,因为自己在举例子时把前序遍 ...
阅读全文 »

剑指Offer-从尾到头打印链表

发表于 2019-01-14 | 分类于 剑指Offer
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解题思路思路很简单,直接利用栈即可。比较坑的是,我在判断是否到达链表末尾那里出了点问题,因此总是导致段错误。以后就记住了,如果在while循环里不需要对p->next进行操作之类的,则直接循环条件为p!=next。 /** * struct ListNode { * int val; * ...
阅读全文 »

剑指Offer-替换空格

发表于 2019-01-14 | 分类于 剑指Offer
题目描述将一个字符串中的空格替换成 “%20”。 Input:“We Are Happy” Output:“We%20Are%20Happy” C++求长度相关知识在C/C++中常用的获取字符串长度或者字符串数组长度的函数有:sizeof(), length(), strlen(), size().其中strlen(str)和str.length()和str.size()都可以用来求字符串的长度。 ...
阅读全文 »

剑指Offer-二维数组中的查找

发表于 2019-01-14 | 分类于 剑指Offer
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路参考github: https://github.com/CyC2018/CS-Notes 一开始的想法就是很直接的,直接一行行的查找,因此时间复杂度也相对会大一些,尽管也能够通过,但却是最笨的方法。下面写写时间复 ...
阅读全文 »

Tensorflow重新开始-1

发表于 2019-01-11 | 分类于 Tensorflow
之前曾经学习过一阵子,但是时间赶,并没有懂得什么东西,甚至于当时由于在C盘跑深度学习程序而把电脑的重要文件给误删了。这阵子打算重新开始学习Tensorflow,主要基于《Tensorflow实战Google深度学习框架》这本书。 最开始的简单程序: 通过TensorBoard可视化向量相加的计算图:(matrix1对应a, matrix2对应b,product对应add) Tensorflow三 ...
阅读全文 »

算法阅读笔记--排序

发表于 2018-07-15 | 分类于 笔记
选择排序对一个序列A中的元素A[1]到A[n],令i从1到n枚举,进行n趟操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成新的有序区间[1,i]。总时间复杂度为O(n^2)。 12345678910111213void selectSort(){ for(int i=1; i<=n; ...
阅读全文 »
1…8910…14
DesmonDay

DesmonDay

主攻方向:NLP

133 日志
14 分类
12 标签
RSS
GitHub
© 2020 DesmonDay
本站访客数:
由 Hexo 强力驱动
主题 - NexT.Muse