摘要: 【题目】 给定一个32位整数n,可为0,可为正,也可为负,返回该整数二进制表达式中1的个数 【分析】 按位与(&)操作可以充当掩码的作用,即,可以屏蔽某些位 对整数n每次进行无符号右移1位,并检查最后一位是否为1来进行统计该整数二进制表达式中1的个数 方法一: 方法二: 方法三: 来源:左程云老师《 阅读全文
posted @ 2019-05-21 18:35 Latuper 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 【题目】 给定一个字符类型的数组chas,请在单词间做逆序调整。只要做到单词顺序逆序即可,对空格的位置没有特别要求 举例,如果把chas看作字符串为"dog loves pig",调整成"pig loves dog";如果把chas看作字符串为"I'm a student.",调整成"student 阅读全文
posted @ 2019-05-18 16:41 Latuper 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 【题目】 平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过1。给定一棵二叉树的头节点head,判断这棵二叉树是否为平衡二叉树 【要求】 如果二叉树的节点数为N,要求时间复杂度为O(N) 【分析】 平衡二叉树要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超 阅读全文
posted @ 2019-05-18 12:39 Latuper 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 【题目】 给定无序数组arr,返回其中最长的连续序列的长度 举例,arr=[100,4,200,1,3,2],最长的连续序列为[1,2,3,4],所以返回4 【分析】 HashMap是一种存储键值对(key-value)的数据结构,基于哈希表实现Map接口。可以使用这种数据结构来寻找最长连续序列的长 阅读全文
posted @ 2019-05-17 15:10 Latuper 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 【题目】 给定一个无序单链表的头节点head,删除其中值重复出现的节点 例如,1->2->3->3->4->4->2->1->1->null,删除值重复的节点之后为1->2->3->4->null 【要求】 实现两种方法: 1. 如果链表长度为N,时间复杂度达到O(N) 2. 空间复杂度为O(1) 阅读全文
posted @ 2019-05-17 14:00 Latuper 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作 【要求】 1. pop、push、getMin操作的时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 【分析】 栈是一种只能在另一端进行操作的具有“先进后出”特性的数据结构,它有push(元素入栈)、 阅读全文
posted @ 2019-05-17 12:41 Latuper 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能使用其它数据结构 【分析】 栈是一种操作受限的数据结构,只能从某一端进行插入和删除和访问元素。能进行插入删除 阅读全文
posted @ 2019-05-16 13:42 Latuper 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 【题目】 【分析】 队列是一种只允许在一端插入,在另一端删除且不可访问除了队头元素外的其它元素的数据结构,插入的一端称为队尾,删除的一端称为队头,具有“先进先出”的特性,即先进队的元素也先出队。 猫狗队列的结构要求pollDog方法和pollCat方法可以分别将队列中的Dog类、Cat类实例按照进队 阅读全文
posted @ 2019-05-16 12:50 Latuper 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 【题目】 给定一个非负整数N,返回N!结果的末尾为0的数量 例如,3! = 6,结果末尾没有0,则返回值为0;5!=120,结果的末尾有1个0,所以返回值为1; 1000000000!,结果的末尾有249999998个0,返回249999998 【分析】 N! = N*(N-1)*(N-2)*... 阅读全文
posted @ 2019-05-16 00:16 Latuper 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 【题目】 如何不用任何额外变量交换两个整数的值 【分析】 关于异或运算有三点性质: 1、异或运算满足交换律和结合律; 2、一个数与自己异或的结果为0,即a ^ a = 0; 3、一个数与0异或的结果是它自己本身,即a ^ 0 = a; 4、一个数与1异或的结果是对该数取反,即a ^ 1 = ~a; 阅读全文
posted @ 2019-05-15 21:55 Latuper 阅读(264) 评论(0) 推荐(0) 编辑