文档章节

LintCode---GreyCode

柳初心
 柳初心
发布于 2017/06/04 21:45
字数 108
阅读 7
收藏 0
点赞 0
评论 0
public class Solution {
    public ArrayList<Integer> grayCode(int n) {
        ArrayList<Integer> result = new ArrayList<Integer>();
        if (n <= 1) {
            for (int i = 0; i <= n; i++){
                result.add(i);
            }
            return result;
        }
        result = grayCode(n - 1);
        //根据案例将低位的值反转。
        ArrayList<Integer> r1 = reverse(result);
        //将最高位改成1.
        int x = 1 << (n-1);
        for (int i = 0; i < r1.size(); i++) {
            r1.set(i, r1.get(i) + x);
        }
        result.addAll(r1);
        return result;
    }
    
    public ArrayList<Integer> reverse (ArrayList<Integer> r) {
        ArrayList<Integer> rev = new ArrayList<Integer>();
        for (int i = r.size() - 1; i >= 0; i--) {
            rev.add(r.get(i));
        }
        return rev;
    }
}

© 著作权归作者所有

共有 人打赏支持
柳初心
粉丝 0
博文 31
码字总数 15977
作品 0
南昌
jQuery的md5加密插件及其它js md5加密代码

/** jQuery MD5 hash algorithm function <code> Calculate the md5 hash of a String String $.md5 ( String str ) </code> Calculates the MD5 hash of str using the » RSA Data Securit......

Junn ⋅ 2013/08/05 ⋅ 2

JavaScript数据结构与算法(串)

KMP算法 例如一个字符串有30W个字符判断是否存在"I am Chinese". 类似这样的查找字符的毫无疑问需要使用. 算法由二个部分组成. 获取查找串的部分匹配表PMT 源串根据PMT进行回滚 回滚位数 = ...

fiveoneLei ⋅ 05/30 ⋅ 0

微软SDE面经(电面+onsite)

本人工作1年多了,正在准备跳槽中。刚刚参加完微软西雅图的面试,来分享一下自己的面试过程。一共7轮面试,其中1轮电面,6轮Onsite。 第一轮 电面1 第一轮是电面,先是让自我介绍,然后根据简...

abcdd1234567890 ⋅ 2017/06/14 ⋅ 0

快手 Android 工程师面经

看着我把简历投完之后弹出的“完成”字样,我就十分的激动了,我是一名应届毕业生,老老实实的那种,学过的知识我都一步一个脚印的复习的完了,Lintcode上该刷的题,也妥妥的完成了,但是一想...

Winnielyn ⋅ 2017/07/18 ⋅ 0

鹅厂奋战历程简录

从开始准备到最后尘埃落定,和鹅厂总共纠缠了近10个月,所幸最终拿到Offer,也算万事完满。 2015.12 12月中旬,和一读研学长讨论今后出路。本觉得以自己的水平万不可眼界过高放眼鹅厂这种互联...

sun511230 ⋅ 2017/05/25 ⋅ 0

【送VIP】我将告别人世,剩下那段路由AI替我走完

我来这世间走一遭 尝过热闹的火锅蒸气背后 那参杂着酸甜苦辣的人生百态 我穿过瞬息平起的大厦 踏过废弃的砖瓦 也终将成为一朵即将死去的花 如是,死亡这二字 是生的禁忌 也是不变的永恒 存在...

micf435p6d221ssdld2 ⋅ 04/21 ⋅ 0

【刷题】Lowest Common Ancestor

最低公共祖先 Lowest Common Ancestor 三连击. basic problem lintcode戳我(有follow up) leetcode戳我 题目 Description Given the root and two nodes in a Binary Tree. Find the lowe......

猴子007 ⋅ 2017/12/28 ⋅ 0

Twitter Software Engineer 面经

去年十月份左右因为感觉要提前找找工作,所以比较盲目地投了不少简历,当时拿到了几个公司的面试,但都因为自己表现太差劲失败了。后来回来后就分析了分析自身的问题,还是基础太薄弱,面试时...

Winnielyn ⋅ 2017/08/23 ⋅ 0

Facebook Software Engineer 电面面经

前不久刚刚面试了Facebook,面试的岗位是软件工程师。很有幸通过了facebook的电面,所以来分享一下电面的经验,也希望和大家交流一下。 讲真facebook的效率不愧是出了名的高,我在得到通过了...

wb5922c9234fafc ⋅ 2017/05/22 ⋅ 0

Facebook Software Engineer 电面面经

前不久刚刚面试了Facebook,面试的岗位是软件工程师。很有幸通过了facebook的电面,所以来分享一下电面的经验,也希望和大家交流一下。 讲真facebook的效率不愧是出了名的高,我在得到通过了...

sun511230 ⋅ 2017/05/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud构建微服务架构—创建“服务注册中心”

创建一个基础的Spring Boot工程,命名为eureka-server,并在pom.xml中引入需要的依赖内容: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par......

itcloud ⋅ 22分钟前 ⋅ 0

拖动

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>event</title> <style> #box { width: 100px; height: 100px; background-color: aquamarine; position: absolute; } </style......

fyliujj ⋅ 24分钟前 ⋅ 0

es6 polyfill array

polyfill之javascript函数的兼容写法——Array篇 1. Array.isArray(obj) if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[objec......

球球 ⋅ 26分钟前 ⋅ 0

kibana启动异常

检查一下:kibana.yml 每一对key:value中,冒号之后应有空格。

增删改查1 ⋅ 28分钟前 ⋅ 0

js修改img的src属性刷新图片时的图片缓存问题

问题:上传一张图片,通过js更新src属性刷新图片使其即时显示时, 当img的src当前的url与上次地址无变化时(只更改图片,名称不变,不同图片名称相同)图片不变化(仍显示原来的图片) 但通过...

HaierBrother ⋅ 28分钟前 ⋅ 0

Mysql

1.Jdbc Url 设置allowMultiQueries为true和false mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上* &allowMultiQueries=true *即可。 参数名称 参数说明 缺省...

瑟青豆 ⋅ 31分钟前 ⋅ 0

mysql导出导入表结构与数据

当我们需要进行数据迁移时,mysql自带的mysqldump会是最好的方式。 1.导出某张表的结构和数据 首先,我们应当使用服务器,打开终端,连接到所需要导出的表所在的服务器上。执行命令: mysqld...

hengbao5 ⋅ 32分钟前 ⋅ 0

世界杯也走向“比拼”大数据的时代

《日本经济新闻》6月19日报道称,俄罗斯足球世界杯已于6月14日揭开战幕。作为第21次举办的足球世界杯,如何活用大数据有可能成为决定各支球队胜负的重要因素。从对阵球队的分析到战术建议,还...

加米谷大数据 ⋅ 32分钟前 ⋅ 0

金额转为千分制,金额转中文大写

金额转关为大写 /** 数字金额大写转换(可以处理整数,小数,负数) */ function digitUppercase(n){ if(!n) reutrn "" let fraction = ['角', '分']; let digit = [...

YXMBetter ⋅ 35分钟前 ⋅ 0

开发利器JRebel部署SpringBoot项目

不要以为年纪轻轻就跌倒了人生谷底,未来还有更大的下降空间等着你。 idea下载和安装JRebel 激活JRebel 访问https://my.jrebel.com/ 使用facebook或twitter登录 勾选 Build project automati...

郑龙飞 ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部