算法
文章平均质量分 73
测试开发知识积累
这个作者很懒,什么都没留下…
展开
-
数据结构和算法-知识点总结
时间复杂度:1、假设计算机执行每个基本操作的时间是固定的时间单位,那么有多少基本操作就代表有多少时间单位。虽然不同机器的时间单位不同,但是执行基本操作基本是相同的,因此可以使用步骤来客观描述代码的时间复杂度。2、时间复杂度用大(O)记法表示。...原创 2020-03-04 07:51:11 · 1563 阅读 · 0 评论 -
算法面试总结
假设有4个硬币,其中有一个硬币的重量异常,尝试用一个没有砝码的天平找出异常的硬币,天平只能使用3次,只需要描述思路。解法:四个硬币1,2,3,4 分两组 1,2 - 3,4第一步:1,2 < 3,4第二步:1 < 2 说明最小的是1,结束1=2继续第三步:3>4 说明最大的是3,结束字符串倒转说明“前后空格去掉”、 “中间有空格的只保留一个” public static void main(String[] arg){ String a = "原创 2021-08-08 21:37:49 · 110 阅读 · 0 评论 -
算法题-字符串相关
无重复字符的最长子串题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。def lengthOfLongestSubString(s): n = len(s) ans = 0 # 定义空字典,记录字符与索引的映射关系 m = {} l = 0 # 遍历右指针 for r in range(n): if s...原创 2020-03-13 09:49:58 · 196 阅读 · 0 评论 -
算法题-链表相关
删除链表中的节点题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。解析:由于只输入了需要删除的节点node,因此无法获取删除节点node的前一个节点pre,从而也就无法将前一个节点pre指向删除节点的下一个节点nex;既然无法通过修改指针完成,那么肯定要修改链表节点的值了。将删除节点node的值和指针都改为下一个节点nex的值和指针即可。cl...原创 2020-03-13 09:56:00 · 87 阅读 · 0 评论 -
算法题-树相关
二叉树的最大深度题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。方法1:递归class Solution: def maxDepth(self, root): """ :type root: TreeNode :rtype: int """ if root...原创 2020-03-13 11:05:22 · 105 阅读 · 0 评论 -
算法题-列表相关
两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class ...原创 2020-03-04 22:34:43 · 362 阅读 · 0 评论 -
算法题-数组相关
两数之和等于目标值给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution(object): def twoSum(self, nums, target原创 2020-10-27 10:10:24 · 170 阅读 · 0 评论