LeetCode刷题记录
Meteor2022
这个作者很懒,什么都没留下…
展开
-
leetcode刷题——No.42 接雨水
这一题的难度相对来说比较小,只要找到左端最大和右端最大的情况即可。基础的动态规划问题。 class Solution { public int trap(int[] height) { int n= height.length; //左端最大值 int leftMax[] = new int[n]; //右端最大值 int rightMax[] = new int[n]; //由于第一个点和最后一个点不原创 2021-04-16 11:03:24 · 133 阅读 · 0 评论 -
leetcode每日一题——No.87 扰乱字符串(困难)
题目链接:Leetcode 87 自己写了挺久的,发现不会看的答案的。 解决思路: 分割子问题:分割成两个部分这个字符串是不固定的,因此必须使用for循环解决。 子问题的求解:几种情况,首先是子串的字符个数不等,其次就是子串完全相等。最后的情况通过分割成更小的子问题解决。 构造的dp方程:memo是三维数组,存储的是从字符串1和字符串2中索引位置为i和j长度为k的子字符串是否满足扰乱字符串。 分割成子问题, 几个问题:1. 记忆化搜索和传统的循环dp不同的使用情况? 2.对于dp方程如何构建最优? c原创 2021-04-16 09:52:49 · 137 阅读 · 0 评论 -
幂运算(与运算)
pow(a,n)求a的n次方,但是该函数的时间复杂度是O(n)有时候不符合要求,因此要寻求更快的方式。 代码如下: int pow(int a,int n)//返回值是a的n次方 { int sum=1; while(n!=0) { if(n&1)//如果n是奇数,即n的二进制最末位为1时 sum*=a;原创 2017-05-17 01:26:37 · 798 阅读 · 0 评论 -
数据结构考研笔记(仅仅记录易错,容易忽视的部分)
绪论 1 同一个算法,实现的语言级别越高,效率就越低 2 循环队列是用顺序表表示的队列 3 数据结构的逻辑结构就是在设计上与物理结构无关,是一种抽象出来的数学模型 4 存储密度,在计算机中是指结点数据本身所占的存储量和整个结点结构所占的存储量之比,计算公式:存储密度 = (结点数据本身所占的存储量)/(结点结构所占的存储总量)。链式存储的存储密度小于1。 线性表 1 如果给定一个链表并...原创 2018-11-08 22:26:11 · 1187 阅读 · 0 评论