leetcode刷题
记录每天力扣的刷题
FXY.jpg
这个作者很懒,什么都没留下…
展开
-
leetcode#1160 词汇表中拼写字符串
力扣#1160 拼写单词 题目要求:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。 返回词汇表 words 中你掌握的所有单词的 长度之和。 输入:words = ["cat","bt","hat","tree"], chars = "atach" 输出:原创 2020-11-02 14:31:13 · 253 阅读 · 0 评论 -
实现大数相乘、实现找到最近两个点的距离
算法大作业 题目1 实现大数相乘 题目要求: 编程语言内置的数据类型都是有长度限制的,最长的long类型的长度是2^63-1,如果两个数的乘积超过了这个长度,那么就会出现错误,那么如何实现两个长度为20位二进制数字的乘积。 算法思路 暴力相乘法: 这个方法的思路主要是使用两个循环模拟手动运算的过程,超出长度的数字用字符串表示,计算的过程中,需要注意在计算过程中的数字的位数调整。时间复杂度为O(n^2)。 分治法 分治法的主要思路是将问题分成可直接求解的子问题,针对这个问题可求解的子问题就是两个个位数原创 2020-10-31 15:58:44 · 213 阅读 · 0 评论 -
leetcode#1331 整数数组 arr元素替换为它们排序后的序号
力扣#1331 题目描述:给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。 序号代表了一个元素有多大。序号编号的规则如下: 序号从 1 开始编号。 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 每个数字的序号都应该尽可能地小。 解题思路:这题主要是对数组的序号进行了一些操作,那么我们就可以用哈希表来进行这个操作,哈希表就是有key和value组成的,并且查找的时间复杂度只有O(1),另外这道题涉及了很多操作,比如首先是一个排序,肯定不能直接对愿数组进行操作,不原创 2020-10-30 16:56:38 · 1184 阅读 · 0 评论 -
leetcode#88 合并两个有序数组,不能使用辅助数组
力扣#88 合并两个有序数组,不能使用辅助数组 解题思路:假设使用辅助数组的话,那就是两个数组分别比大小进行放进辅助数组中。这道题中,我们还想使用这种对比放入的思想,这样就不用进行移动数组中的元素了。那么这时候,我们就可以从两个数组的尾部进行出发,两个数组的长度是确定的,从数组的尾部进行对比元素,大的元素必定是合并后最后一个元素,把对比中大的元素放进数组1的尾部,然后指针前移,继续重复对比两个数组的当前尾部即可合并两个数组。 ...原创 2020-10-29 23:13:03 · 231 阅读 · 1 评论 -
leetcode#1275 判断井字游戏谁输谁赢
#leetcode 1275 判断井字游戏谁输谁赢 解题思路: 首先,必定是最后一个落子的人会可能获胜,这就意味着我们在遍历数组的时候一定要倒序遍历。然后 ,一共有8种获胜情况,占满3个行进行获胜或者占满3个列进行获胜,或是两个对角线进行获胜,那么我们申请一个长度为8的数组进行统计这几种情况是否出现。如果是占满某一行进行获胜,那么轨迹的某一行一定会出现3次,列同理。如果是占满正对角线进行获胜,那么我们用数组中第7个位置记录这种情况。如果是副对角线进行获胜,那么我们用数组的第八个位置进行记录。最终数组某个位置原创 2020-10-28 01:02:10 · 202 阅读 · 0 评论 -
leetcode#605
1、leetcode#605 解题心得:在对或运算符进行判断的真值的时候,如果或运算符前面的一项结果是真,则直接不会对后面几项进行真值判断,也就意味着,如果第二项里面出现错误,类似于数组越界的错误的时候,程序并不会进行报错。 同理,做与运算符的真值判断的时候,如果第一项判断为假,那么就不会对后面几项进行真值判断,即使后面几项出现错误,也不会进行报错。 利用java程序的这一个性质,就可以进行一些特殊的异或判断达到目的,比如对数组的边界值进行判断的时候,下标i为0或者length-1的时,同时需要进行i-1以原创 2020-10-26 23:53:06 · 178 阅读 · 0 评论 -
leetcode#1588 正整数数组 arr中奇数长度子数组的和
1、leetcode#1588 给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。 子数组 定义为原数组中的一个连续子序列。 请你返回 arr 中 所有奇数长度子数组的和 。 最优化思路:** 针对奇偶关系的题目,可以考虑一下奇数加奇数等于一个偶数,偶数加偶数等于一个偶数,奇数与偶数的组合是一个奇数这种思路。** 求一个奇数序列,可以考虑,这个中间数字前面选择偶数个数字有多少种情况,后面选择偶数个数字有多少种情况,加上中间数字,就是一个奇数长度的序列。或者考虑前面选择奇数个数字的情况,后面原创 2020-10-21 13:25:19 · 233 阅读 · 0 评论