
算法
RainbowXin
我们都在遗忘过去
展开
-
【300分钟搞定数据结构算法】- 1,常用数据结构
数组/字符串 /Array & String1, 优点,构建数组时非常简单,能让我们在O(1) 时间内查询某个元素2,缺点,构建时必须分配一段连续的时间,查询某个元素是否存在时,耗时O(n),删除和添加某个元素时,耗时O(n)LeetCode 242https://leetcode-cn.com/problems/valid-anagram/给定两个字符串 s 和...原创 2020-03-26 13:03:07 · 557 阅读 · 0 评论 -
算法7月-O(n) 解决算法问题 最大存水量的 问题 Leetcode11- Container With Most Water
Givennnon-negative integersa1,a2, ...,an, where each represents a point at coordinate (i,ai).nvertical lines are drawn such that the two endpoints of lineiis at (i,ai) and (i, 0). Find two...原创 2019-11-14 12:45:26 · 176 阅读 · 0 评论 -
算法7月-O(n) 解决算法问题 最大存水量的 问题 Leetcode42- Trapping Rain Water
问题描述:Trapping Rain Water有一数组代表 墙的高度 如图,输出代表最大的存水量,求解Input: [0,1,0,2,1,0,1,3,2,1,2,1]Output: 6O(n) 求解思路,左右最大值中 较小的 减去 当前值 就是存水量 public int trap(int[] height) { int...原创 2019-11-14 12:36:42 · 251 阅读 · 0 评论 -
剑指Offer-数组中只出现一次的数字
数组中除了两个数,其他都出现偶数次 ,请找出这两个数原创 2019-11-11 21:33:28 · 111 阅读 · 0 评论 -
剑指Offer-寻找丑数
丑数定义 能被 2,3,5整除的数为丑数,找出序列index中第n个丑数,第一个丑数为1原创 2019-11-11 13:25:38 · 95 阅读 · 0 评论 -
剑指Offer-数组中超过一半的数字
1,给定一个数组,找出超出一半的数字{1,2,3,2,22,2,2,5,4,2} 输出2 ,不存在输出0hashMap 个数加加再次遍历 然后 输出 个数2, 第二种解法 ,空间复杂度为o(1), 时间复杂度为o(n) 思想 : 消除法,不等则消除 count-1,相等则 Count+1,...原创 2019-11-10 11:44:18 · 119 阅读 · 0 评论 -
剑指Offer-不用加减乘除做加法
1, 写一个函数,求两个整数之和,要求函数体内,不得使用+,- ,*, /2, 第二种解法 ,空间复杂度为o(1), 时间复杂度为o(n) 思想 : 消除法,不等则消除 count-1,相等则 Count+1,...原创 2019-11-10 11:40:40 · 141 阅读 · 0 评论 -
剑指Offer-二进制中1的个数
输入一个整数,输出该二进制表示中1的个数,其中负数用补码表示1,补码 正数不变,负数是它的正数反码加1-2 的补码:1.......10按位与操作,循环遍历 到 32 位 结束...原创 2019-11-10 11:10:33 · 101 阅读 · 0 评论 -
剑指Offer-链表中环的入口点
1,如何判断 链表有没有 环 添加空间 判断环原创 2019-11-10 10:50:33 · 110 阅读 · 0 评论 -
剑指Offer-小朋友的游戏
n个小朋友,报数到m,则m-1出列,问最后一个出列的序号第一次从 0 开始第二次从 m 开始相当于 从 0 开始的 ,和去掉m-1 从m开始是一样的 也就是 f(n) = f(m) + m-1f(n) = i 从0 开始报数f'(n-1) =i 从m-1开始报数推导过程;公式推导过程1,public int Solution(int n,int...原创 2019-11-10 10:19:03 · 122 阅读 · 0 评论 -
剑指Offer-两个链表的公共结点
寻找两个公共结点的差,先让长的走k步,然后再同时遍历,直至遇到相等的结点。原创 2019-11-10 09:28:01 · 77 阅读 · 0 评论 -
剑指Offer-判断压栈顺序的正确性
关键的点在于 while 循环 判断,之前和 剩余 pop相等的元素while(!push.isEmpty() && push.peek() == pop[index]){ push.pop(); index++;}public class IsPopOrder { public boolean IsPopOrde...原创 2019-11-07 13:53:21 · 135 阅读 · 0 评论