
算法
后端技术架构
这个作者很懒,什么都没留下…
展开
-
搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], ...原创 2018-08-30 16:37:42 · 170 阅读 · 0 评论 -
买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...原创 2018-08-30 18:50:51 · 157 阅读 · 0 评论 -
两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] 求两个数的和等于指定数,可以转为判断指定数减其中一个数,得到的数是否在给定的数组中,...原创 2018-09-04 18:32:08 · 268 阅读 · 0 评论 -
各位相加
给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。样例 给出 num = 38。相加的过程如下:3 + 8 = 11,1 + 1 = 2。因为 2 只剩下一个数字,所以返回 2。挑战 你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?递归法:class Solution: def addDigits(self,...原创 2018-08-30 12:07:40 · 243 阅读 · 0 评论 -
压缩字符串
给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a","原创 2018-08-30 15:00:05 · 223 阅读 · 0 评论 -
合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2018-08-30 17:38:55 · 402 阅读 · 0 评论 -
等概率生成随机数
题目一:已知有一个rand3()函数,可以生成等概率的[1, 3]范围内的随机整数,利用这个rand3()函数构造一个rand7()函数,生成等概率[1, 7]范围内的随机整数。 分析:要保证rang7在整数1-7的均匀分布,可以构造一个1-7*n(n为任何正整数)的均匀分布的随机整数区间。假设x是这个1-7*n区间上的一个随机整数,那么x%7+1就是均匀分布在1-7上的整数。由于(ran...原创 2019-01-09 20:53:13 · 2246 阅读 · 0 评论 -
统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)
题目: 用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数。常规解法怎么判定单词?1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符的处理不便,全部替换成"")2 正则分割3 遍历字符串,取每个word4 正则匹配怎么统计个数?将wordlist的word和word的个数放入dict,排序import rewith op...原创 2019-02-18 11:59:56 · 6434 阅读 · 0 评论