Welcome to Rooeye's blog

 分类:算法

go语言位运算相关

go语言位运算相关
go 语言里面没有逻辑左移和逻辑右移,比如想获取一个 int32 类型的数字a的符号位: sign = a >>> 31 这种写法在java一些语言里面是没有问题的,如果a是正数,sign结果为0,反之负数为1。但是golang里只有算术左移和算术右移: si...

rooeye 3天前 48℃ 0评论 5喜欢

不用条件判断指令实现字符串大小写的转化

不用条件判断指令实现字符串大小写的转化
今天在写汇编的时候遇到一个问题,如何不使用任何条件指令完成字符串字母大小写的转化,略思之后感觉挺有意义,记之。 比如如下一个字符串: “RooEYeBlOG” 要把其全部转化为小写,我们知道对于字符,机器都是将其转化为ascii码进行处理的,并且一个...

rooeye 2年前 (2016-03-18) 2786℃ 2评论 3喜欢

Linkedin面试题

Linkedin面试题
实现函数 void printFactors(int n),将一个正整数 n 分解为多个正整数的乘积,打印出所有可能的分解情况,但不包括重复分解的情况,比如已经打印输出 3*4 ,就不应该打印输出 4*3。测试用例如下: input:12 output: 1 * 12 ...

rooeye 2年前 (2016-02-20) 1725℃ 1评论 10喜欢

有/无环单链表相关问题最优解

有/无环单链表相关问题最优解
1. 如何判断链表是否有环,如果有环返回入环节点 快指针,慢指针, 快指针每次走两步,慢指针每次走一步,如果二可以者相遇,则说明有环。当二者相遇的时候,将快指针重新指向头结点,然后快慢指针每次都走一步,相遇节点即为入环节点。 2.  无环单链表判断是否相...

rooeye 2年前 (2015-12-01) 413℃ 0评论 1喜欢

双端队列解决滑动窗口问题

双端队列解决滑动窗口问题
有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 返回一个长度为n-w+1的数组res,res[i]表示每一种窗口状态下的最大值。 以数组为[4,3,5,4,3,3,6,7],w=3为例。因为第一个窗口[4,3,5]的最大值为...

rooeye 2年前 (2015-11-27) 479℃ 0评论 0喜欢

卡特兰数之究极挑战

卡特兰数之究极挑战
问题: 12个高矮不同的人,排成两排,每排6个人,每一排都从矮到高排列,且第二排都比对应的第一排的人要高,问共有多少种不同的排列方式?,如果一共有n(n为偶数)个人,一共有多少种排列方式? 解释: 这道题是一道隐藏很深的卡特兰数问题。 排列的形式如图所示,每排身高递增,...

rooeye 2年前 (2015-11-23) 670℃ 1评论 3喜欢

Base64编码(转)

Base64编码(转)
开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它。文章下边贴了一个Base64的编解码器,方便阅读文章的同时来实验...

rooeye 2年前 (2015-10-26) 385℃ 0评论 1喜欢