数据结构/算法
文章平均质量分 82
_Eric_Lan_
工科狗,略懂软硬件,尚在奋斗中
展开
-
二分查找相关专题(重复target值)
文章目录1 二分查找2 二分查找的变种2.1 查找第一个与key相等的元素2.2 查找第一个等于或者第一个大于key的元素2.3 查找第一个大于key的元素2.4 查找最后一个与key相等的元素2.5 查找最后一个等于或者最后一个小于key的元素2.6 查找最后一个小于key的元素3 二分查找变种总结3.1 首先判断是返回left,还是返回right3.2 判断比较符号1 二分查找二分查找是一个基础的算法,也是面试中常考的一个知识点。二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键原创 2020-07-23 16:27:16 · 209 阅读 · 0 评论 -
leetcode 124. Binary Tree Maximum Path Sum
Binary Tree Maximum Path Sum题目描述找出尽可能使得和最大的路径(所有点需要连接)解题思路设计递归函数findPathSum(node),传入节点,节点为空时停止递归,返回到传入节点(左右子节点)为止积累的最大和。如图左半部分,每次计算三个值:sumLeft:根节点和左子树的和sumRight:根节点和右子树的和sumAll:根节点和左右子树的和计算当...原创 2019-11-05 14:38:25 · 160 阅读 · 0 评论 -
leetcode108/109 Convert Sorted Array to Binary Search Tree
108. Convert Sorted Array to Binary Search Tree题目描述给定一个有序升序数组,输出可能的平衡二叉树Example:Given the sorted array: [-10,-3,0,5,9]One possible answer is: [0,-3,9,-10,null,5] 0 / \ -3 9 ...原创 2019-11-05 12:43:23 · 175 阅读 · 0 评论 -
面试中的 10 大排序算法总结
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可能会要求...转载 2019-10-21 13:29:49 · 295 阅读 · 0 评论 -
leetcode 1-100 medium难度题目汇总
2. Add Two Numbers (Medium)题目描述给两个链表, 做加法Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8Explanation: 342 + 465 = 807.解题思路"""类似于合并两个链表1. 依顺序把l2的元素加到l1中2. 当一个链表已经加完, ...原创 2019-09-07 12:49:52 · 1046 阅读 · 0 评论 -
转载 二分查找关于边界问题的坑点与总结
原文链接:https://blog.csdn.net/haolexiao/article/details/53541837二分查找足够简单,但是坑点也有不少,下面来总结一下以下是二分查找的标准写法以下这个函数是二分查找nums中[left,right)部分,right值取不到,如果查到的话,返回所在地,如果查不到则返回最后一个小于target值得后一个位置。//右值点不能取到的情况 ...转载 2019-08-30 10:01:28 · 454 阅读 · 0 评论 -
leetcode 139. Word Break
记忆数组f[i]表示s[0,i]是否可以被分割,f[0]=1表示“”空字符是可以被分割的。两个循环,一个外循环,一个内循环。外循环表示目前分解s[0, i]的子字符串,内循环分解当前子字符串为左右子字符串,左边的f[j]直接从memo中查询,防止重复计算,右边的子字符串f[j, i]则判断是否在字典中,当这两个条件都成立的时候,f[i]置为1,表示s[0, i]是可以被字典中的单词分割。这...原创 2019-07-26 14:51:41 · 115 阅读 · 0 评论 -
数据结构概念总结
转载自Github:https://github.com/Jack-Lee-Hiter/AlgorithmsByPython/blob/master/数据结构.md数据结构一些概念数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能被计算机处理的符号的集...原创 2018-11-18 11:20:31 · 1280 阅读 · 0 评论 -
leetcode高频面试题
文章目录一. 写在开头二. Lnho大神总结的高频题三. 频度五题解1. Two Sum \[Difficulty: Easy\]15. 3Sum \[Difficulty: Medium20. Valid Parentheses [Difficulty: Easy]56. Merge Intervals [Difficulty: Medium]57. Insert Interval [Diffi...原创 2019-03-22 19:53:21 · 823 阅读 · 0 评论