LeetCode
LoveLittleRain
这个作者很懒,什么都没留下…
展开
-
如何使用SQL语句交换男女性别
今天刷LeetCode上的SQL语句,其中有一道题,是让你把表中的男女属性进行互换,也就是说,如果表中原来的性别是男性的话,现在你要把它变成女性,如果原来是女性的话,现在需要把它变成男性。并且题目要求只能使用一次update语句。 本来我想的是,先把所有男性的给update成女性,再把所有女性的给update成男性,但是这样的话,需要使用两次update,显然不符合条件,于是我就GG了(好吧,原创 2017-07-20 14:54:48 · 9969 阅读 · 1 评论 -
汉明距离
汉明距离(Hamming Distance) 所谓汉明距离,是针对于两个数而言的,它的概念是:两个数的二进制中不相同的位的个数。 举个简单的例子,比如说,求3和5的汉明距离,步骤如下: 3的二进制是011 5的二进制是101 从上边的例子可以看出,3和5 的二进制中,有2位是不同的,所以,3和5的汉明距离就是2。 所以,知道了汉明距离的概念,那么我们要怎么去计算汉明距离呢原创 2017-07-20 15:23:30 · 2158 阅读 · 0 评论 -
怎样从数学的角度判断一个数是不是另一个数的指数
今天刷题的时候,刷了两道题,都是用来判断数a是不是数b的几次方,刚开始是判断数a是不是数b的2次方,比如说2,4,8之类,这道题有些小的技巧,就是如果一个数是2的幂,那么这个数的二进制里一定只含有一个1,所以只需要判断这个数的二进制只含有一个1就行,用 n & n-1大法来进行判断。 需要注意的是,数a一定不能是非正数。 代码如下:class Solution {public:原创 2017-07-30 20:17:07 · 1647 阅读 · 0 评论 -
怎样用异或查找出多出的字母
今天刷leetcode,遇到了一道题,很有意思,就是给了俩字符串,一个A,一个B,字符串B是这样子的,先把字符串A打乱,然后随机在A中加入一个任意字母,就变成了B。问加入的是啥字母? 举个例子: A:“abc” B:“cbea” 那么很明显,加入的字母是e。如何求出来呢? 这里介绍一种非常简答的方法,就是使用异或。 因为字母是char类型,char类型可以当做in原创 2017-08-01 22:46:43 · 2212 阅读 · 1 评论 -
如何求一个数的补数
发现了一个问题自己还不是很懂,就是说如何求一个数的补数,举个例子,比如5,二进制是101,那么它的补数就应该是010就是2。 你可能会问了,这不是很简单吗?取反就行了啊,~5就行,事实上是这样子吗?当然不是了,因为5是101,但是它前边还有很多0。 如果按照无符号int来看的话,是32个bit。 为了简单,我们只写最后8个bit,是 0000 0101 那么它的补数2原创 2017-07-28 21:46:34 · 6628 阅读 · 4 评论 -
怎样将矩阵Reshape
今天刷题的时候,遇到一个问题挺有意思的,特此记录,就是如何将一个矩阵给执行Reshape操作。 举个例子,比如说给出一个4*4的矩阵,如何将其Reshape成为一个8*2的矩阵?当然,矩阵如果可以Reshape的话,必须保持变形之前和变形之后的元素的个数不变。 如下图所示: 首先,我们先来介绍一个神奇的操作,就是如何快速确定自己的位置。 想象这样一种场景,有16个队员原创 2017-07-29 13:28:45 · 1292 阅读 · 0 评论