![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
_要啥自行车
这个人很懒
展开
-
跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路这题可以从多个角度考虑,最简单的方法令n=1,2,3,4就可以发现规律为f(n)=f(n-1)+f(n-2)。用分治法的思想考虑这道题,对于n级台阶,青蛙有两种起跳方式:1.起跳时跳1级,那么剩下的n-1级就有f(n-1)种跳法。2.起跳时跳2级,那...原创 2018-08-14 18:02:20 · 74 阅读 · 0 评论 -
LeetCode(1)--Two sum
Question: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 us...原创 2018-08-23 16:07:16 · 84 阅读 · 0 评论 -
调整数组顺序使技术位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路新建两个数组用于存放奇数和偶数,然后将偶数数组扩展到奇数数组后即可(或者直接新建一个数组存储偶数,奇数仍保留在原数组中,处理完后将新数组扩展到原数组后。此方式能减少储存空间)。算法时间复杂度O(N)P...原创 2018-08-17 12:15:06 · 160 阅读 · 0 评论 -
斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39实现思路一开始的实现思路是直接采用递归的方法,将其表示成f(n)=f(n-1)+f(n-2)这种形式,但是时间复杂度较高(具体怎么算不是很清楚,暂时不去细究了)。然后直接用枚举的方式即可计算。Python实现# -*- coding:utf-8 -*-...原创 2018-08-11 18:55:31 · 78 阅读 · 0 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路逐个读取字符串中的字符,并将其存入一个空的list中。若为空格则替换为“%20”储存。遍历之后将list合并成一个字符串。时间复杂度O(n)。实际运行时间24ms,占用内存5724kPython实现# -...原创 2018-08-11 17:58:23 · 93 阅读 · 0 评论 -
二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路按行检索,若target小于第i行的第j个数,则到第i+1行重新检索。时间复杂度O(n^2)。实际运行时间225ms,占用内存5732k。Python实现# -*- co...原创 2018-08-11 17:51:01 · 80 阅读 · 0 评论 -
二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。定义解释提供解题思路前先看一下原码,反码和补码之间的联系。原码: 符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。 反码: 正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。 补码: 正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, ...原创 2018-08-14 20:31:42 · 116 阅读 · 0 评论 -
矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路跳台阶的变形,完全可以看做跳台阶,代码也完全相同,不再赘述。...原创 2018-08-14 18:36:57 · 99 阅读 · 0 评论 -
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路和上一篇博文一样,从n=1,2,3,4不难发现f(n)=2^(n-1)。从分治法角度实际上也一样,可以发现f(n)=f(n-1)+f(n-2)+...+f(1)+1(最后要加一的原因是因为青蛙可以直接跳上n个台阶,所以额外要加一种方法)。而f(n-1)=f(...原创 2018-08-14 18:28:57 · 98 阅读 · 0 评论 -
LeetCode(2)--Add Two Numbers
Question: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 a...原创 2018-08-23 17:15:30 · 116 阅读 · 0 评论