![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
LSG.haha
认真认真再认真,淡定淡定再淡定
展开
-
leetcode每日一题——1486. 数组异或操作
今天看到的第一眼,诶,竟然是个simple的,那应该会很简单的,然后一看题我就傻眼了,异或操作……,两三年前上离散数学的时候学过,很久不用,早就已经忘了。那么先查一下,这个异或运算到底是怎么算的吧。关于异或运算 异或运算最能讲明白的一句话就是“同为0,异为1”,即如果两个位次的数相等,那么这一位的结果就是0,如果这两个位次的数不等,那么这一位的结果就是1。 在C++编程语言里,它的运算符是“^”,那么异或运算的公式可以写成:a ^ b=(~a & b) | (a & ~b)原创 2021-05-07 17:59:14 · 205 阅读 · 0 评论 -
leetcode每日一题——179.最大数
我的天呐,这些这些题真的是需要刷的,让你自己去想的话,我自己最先想到的是根据像基数排序那样,从每个数的最高位开始进行比较排序,最大的放前面,排好之后在连在一起出结果。但是后面看了题解里面,真的是……,只需要自定义一个比较大小的方法就行了,比如对于两个数a和b,如果a+b>b+a就返回True,a+b<=b+a就返回False。根据这样的比较大小的方法,对整个数组进行排序,然后连在一起就可以了。代码如下:class Solution: def largestNumber(se..原创 2021-04-13 12:22:34 · 105 阅读 · 0 评论 -
leetcode每日一题——154. 寻找旋转排序数组中的最小值 II
接昨天的“153. 寻找旋转排序数组中的最小值”,题目与153大致相同,只是将之前数组中没有重复元素这个条件换成了有重复数组的,所以解法大致相同。具体看题目https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/最最简便的方法就是从头到尾遍历整个数组,比较第i个元素与第i+1个元素的值,若第i个元素比第i+1个大,说明找到了这个最小元素,返回即可,若是遍历完仍是没有这个情况出现,说明数组内元素当前是从小到大有序原创 2021-04-09 15:51:18 · 149 阅读 · 0 评论 -
leetcode每日一题——153. 寻找旋转排序数组中的最小值
不知道是好些天没写过算法题了还是怎么回事,今天打开leetcode之后,随便做了道困难程度的题,没多长时间就轻松做出来了,就感觉状态不错,就点开了每日一题,给分到一个中等难度的题,就是这个“153. 寻找旋转排序数组中的最小值”,在看题的过程中就有了大概思路。先放一下题目吧已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,原创 2021-04-08 17:31:58 · 148 阅读 · 0 评论