
leetcode算法刷题
Pikunikku
修身养性
学习中~
展开
-
哈希表
一、什么是哈希表? 哈希表简单来说可以看作是是对数组的升级,(也有不少人认为哈希表的本质就是数组),那么哈希表和数组的具体联系和区别在哪里呢? 我们在利用数组存储数据的时候,记录在数组中的位置是随机的,位置和记录的关键字之间不存在确定的关系。 联系:哈希表是由数组实现的。 区别:数组中存储的元素的和数组下标没有确定的关系,而哈希表中存储的元素和数组的下标有一个确定的关系,我们将这个确定的关系称之为哈希函数(Hash). 1、最简单的例子: 我们可以举一个最简单的例子。假设要建立一张全班40个学生的情况统计表转载 2020-10-23 14:50:37 · 382 阅读 · 0 评论 -
26. 删除排序数组中的重复项(Eazy)
/双指针,pq相等,q就往后走;pq不等,就把q的的值赋给p+1,并且p往后挪一位。 直到q=length,返回p+1/ class Solution { public int removeDuplicates(int[] nums) { if(nums == null || nums.length == 0) return 0; int p = 0; int q = 1; while(q < nums.length) { if(nums[p] != nums[q]) { nums[p + 1] =原创 2020-07-20 21:17:54 · 128 阅读 · 0 评论 -
leetcode算法刷题:155.最小栈
2. Eazy155.最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 思路: ①采用一个辅助栈,专门用来记录最小值 ②一个栈同时保存当前值和栈内最小值,元组第一个值为栈元素,第二个值为最小值 新元素入栈:当栈为空,保存元组 (x, x);当栈不空,保存元组 (x, min(此前栈内最小值, x)))原创 2020-07-07 22:27:12 · 149 阅读 · 0 评论 -
leetcode算法刷题:63.不同路径II
Medium63.不同路径II(动态规划dynamic programming问题) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超过 100 知识点:一个DP,平常如果需要1000×1000的空间,其实根据DP的无后效.原创 2020-07-07 22:22:57 · 177 阅读 · 0 评论