多一些Aha Time,发现技术的|

啊原来是这样呀

园龄:8年3个月粉丝:3关注:9

随笔分类 -  算法刷题之旅

【剑指offer】64.表示数值的字符串
摘要:总目录: 算法之旅导航目录 1.问题描述 请实现一个函数用来判断字符串str是否表示数值(包括科学计数法的数字,小数和整数)。 科学计数法的数字(按顺序)可以分成以下几个部分: 1.若干空格 2.一个整数或者小数 3.(可选)一个 'e' 或 'E' ,后面跟着一个整数(可正可负) 4.若干空格 小
33
0
0
【剑指offer】63.把字符串转换成整数(atoi)
摘要:总目录: 算法之旅导航目录 1.问题描述 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。传入的字符串可能有以下部分组成: 1.若干空格 2.(可选)一个符号字符('+' 或 '-') 3. 数字,字母,符号,空格组成的字符串表达式 4. 若干
58
0
0
【剑指offer】62.扑克牌顺子
摘要:总目录: 算法之旅导航目录 1.问题描述 现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。有如下规则:1. A为1,J为11,Q为12,K为13,A不能视为142. 大、小王为 0,0可以看作任意牌3. 如果给出的五张牌能组成顺子(即这五张牌是连续的)就输出true,否则就
124
0
0
【剑指offer】61.顺时针打印矩阵
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] 则依次打印出数字 [1,2,3,4,8,12,16,15
24
0
0
【剑指offer】60.求1+2+3+...+n
摘要:总目录: 算法之旅导航目录 1.问题描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 数据范围: 0<n≤200进阶: 空间复杂度 O(1),时间复杂度 O(n) 2.问题分析 不能使用乘除法、循环迭
16
0
0
【剑指offer】59.数组中只出现一次的两个数字
摘要:总目录: 算法之旅导航目录 1.问题描述 一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 数据范围:数组长度 2≤n≤1000,数组中每个数的大小0<val≤1000000要求:空间复杂度 O(1),时间复杂度 O(n) 提示:输出时按非降序排列。
24
0
0
【剑指offer】58.数值的整数次方
摘要:总目录: 算法之旅导航目录 1.问题描述 实现函数 double Power(double base, int exponent),求base的exponent次方。 注意: 1.保证base和exponent不同时为0。 2.不得使用库函数,同时不需要考虑大数问题 3.有特殊判题,不用考虑小数点后
18
0
0
【剑指offer】57.二进制中1的个数
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。 数据范围:- 2^{31} <= n <= 2^{31} 即范围为:-2147483648<= n <= 2147483647 2.问题分析 题中主要信息: (1)统计32位整型有
40
0
0
【剑指offer】56.不用加减乘除做加法
摘要:总目录: 算法之旅导航目录 1.问题描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 数据范围:两个数都满足−10≤n≤1000进阶:空间复杂度 O(1),时间复杂度O(1) 2.问题分析 基本认知:异或运算、与运算 异或运算能够得到忽略进位时的和A,与运算能够获
29
0
0
【剑指offer】55.数据流中的中位数
摘要:总目录: 算法之旅导航目录 1.问题描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获
29
0
0
【剑指offer】54.最小的K个数
摘要:总目录: 算法之旅导航目录 1.问题描述 给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。 数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000
32
0
0
【剑指offer】53.数组中的逆序对
摘要:总目录: 算法之旅导航目录 1.问题描述 在数组中的两个数字,如果前面任意一个数字大于后面的任意一个数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007,防止数字太大造成溢出 数据范围:
26
0
0
【剑指offer】52. 数组中重复的数字
摘要:总目录: 算法之旅导航目录 1.问题描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。
27
0
0
【剑指offer】51.机器人的运动范围
摘要:总目录: 算法之旅导航目录 1.问题描述 地上有一个 rows 行和 cols 列的方格。坐标从 [0,0] 到 [rows-1,cols-1] 。 一个机器人从坐标 [0,0] 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 threshold
27
0
0
【剑指offer】50.矩阵中的路径
摘要:总目录: 算法之旅导航目录 1.问题描述 请设计一个函数,用来判断在一个n乘m的矩阵中是否存在一条包含某长度为len的字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例
25
0
0
【剑指offer】49.正则表达式匹配
摘要:总目录: 算法之旅导航目录 1.问题描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。 1.模式中的字符'.'表示任意一个字符 2.模式中的字符'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab
26
0
0
【剑指offer】48.把数字翻译成字符串
摘要:总目录: 算法之旅导航目录 1.问题描述 有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。 现在给一串数字,返回有多少种可能的译码结果 数据范围:字符串长度满足 0<n≤90 进阶:空间复杂度 O(n),时间复杂度 O(n) 2.问题分析 1动态规划+记忆搜
18
0
0
【剑指offer】47.最长不含重复字符的子字符串
摘要:总目录: 算法之旅导航目录 1.问题描述 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 数据范围: s.length≤40000 2.问题分析 1迭代统计,使用哈希表用来快速检索是否存在,用双指针来维护左右边界 3.代码实例 1 class Solution { 2
17
0
0
【剑指offer】46.礼物的最大价值
摘要:总目录: 算法之旅导航目录 1.问题描述 在一个m×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 如输入这样的一个
29
0
0
【剑指offer】45. 矩形覆盖
摘要:总目录: 算法之旅导航目录 1.问题描述 我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,从同一个方向看总共有多少种不同的方法? 数据范围:0≤n≤38 0≤n≤38 进阶:空间复杂度 O(1) O(1) ,时间复杂度 O
16
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起