
leetcode刷题
记录以及总结
Qian_Chi
这个作者很懒,什么都没留下…
展开
-
力扣刷题day6 ---数组&&双指针
一眼双指针,开始的时候没有理解好,以为是要保持顺序排列,结果就先排序在进行操作,结果出错了,提交之后就发现没有理解好题目。之后用双指针,一个指向 0 ,一个指向非0,不一样就换,思想就是找0,不原地换,后边看题解还可以找非零,正好就整理一下,本来不想整理的。(ps:没发不代表没做,只是觉得简单没有整理)移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。原创 2024-03-11 10:53:52 · 376 阅读 · 0 评论 -
力扣刷题day5 ---数组&&异或操作
B,则A和B的二进制数中至少有一位是不相等的,即假设A的二进制数第N位是1,B的第N位是0。第一次接触到这样的解法 想的是使用hash表统计一下出现得次数 然后输出出现一次的数 感觉还可以,但是看了 题解 发现还可以这样做 ,学废了。解:结合上一个问题,可以知道,这个数组整体遍历异或一遍,可以消去出现偶数次的数值,假设2个待求数分别为A和B,原数组。异或运算满足结合律,即(A^B)^C=A^(B^C)求得A和A^B,使用 A ^ A ^ B = B。0^A=A 0异或任何数A都等于A本身。原创 2024-03-04 21:20:25 · 450 阅读 · 0 评论 -
力扣刷题day4 ---数组&&动态规划
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。一看到这种, 就想起了动态规划 参考了其他人的题解 代码如下。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。思路 : 暴力解法 双重循环 当然这会超时。买入这只股票,并选择在。原创 2024-03-01 19:48:36 · 337 阅读 · 0 评论 -
力扣刷题day3 ---数组
给定一个由组成的数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储数字。你可以假设除了整数 0 之外,这个整数不会以零开头。[1,2,4]输入数组表示数字 123。[4,3,2,2]输入数组表示数字 4321。[1]原创 2024-02-29 20:43:23 · 246 阅读 · 1 评论 -
力扣刷题day2 ---数组 &&二分查找
一是匹配 二是插入 匹配就是 找到 target 返回下标 就好了;如果是插入,插入的位置如果使用二分查找 ,插入的位置其实就是 大数或者小数(看怎么分)的位置。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为。原创 2024-02-28 17:28:08 · 377 阅读 · 1 评论 -
力扣 简单 9. 回文数
我的思路就是将数字转换成字符串 然后进行匹配 ,也是最简单的 , 这样 很明显会增加时间开销,一种优化思路就是 进行反转然后进行匹配 ,直到 我看到了这个。两行代码足矣 真的强!需要学习的地方还有很多!从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。原创 2024-01-14 17:44:11 · 416 阅读 · 1 评论 -
力扣刷题day1 ---数组 &&双指针
值得注意的是 添加时需要 将慢指针进行 +1的操作 ,开始忘记+1导致报错,另外最后也要进行+1操作,因为满指针是从0开始的。思路 :看到本题目,首先就是创建一个临时数组 ,用临时数组来记录不重复的元素,但是题目要求。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度。函数应该返回新的长度。原创 2024-02-27 17:09:57 · 423 阅读 · 0 评论