power of two
来源:互联网 发布:淘宝贝幼儿园怎么样 编辑:程序博客网 时间:2024/05/17 00:18
power-of-two
class Solution {public: bool isPowerOfTwo(int n) { return n>=1 && !(n&(n-1)); }};
<=> n&(n-1)=0
是这个方法的核心
https://leetcode.com/discuss/40202/only-push-others-using-queue-combination-shared-solutions
这题有一个好的方法,是用链表实现的队列,来模拟栈,只有push是on, 其他是o1操作的
class MyStack { Queue<Integer> queue; public MyStack() { this.queue=new LinkedList<Integer>(); } // Push element x onto stack. public void push(int x) { queue.add(x); for(int i=0;i<queue.size()-1;i++) { queue.add(queue.poll()); } } // Removes the element on top of the stack. public void pop() { queue.poll(); } // Get the top element. public int top() { return queue.peek(); } // Return whether the stack is empty. public boolean empty() { return queue.isEmpty(); }}自己写了一个C++版本,其实不需要链式栈,发现了这个方法更好的实现了
class Stack {public: // Push element x onto stack. void push(int x) { q.push(x); int qsize=q.size(); for(int i=0;i<qsize-1;i++){ q.push(q.front()); q.pop(); } } // Removes the element on top of the stack. void pop() { q.pop(); } // Get the top element. int top() { return q.front(); } // Return whether the stack is empty. bool empty() { return q.empty(); }private: queue<int> q;};
记住几个关键的递归式解,可以快速报出答案,免得被主定理,或者plugin 展开计算
T(n)=T(n/2)+O(1) 二分 logn
T(n)=2T(n/2)+O(n) 快排,归并 nlogn
T(n)=2T(n/2)+O(1) n 分治等于没治
0 0
- Power of Two
- [LeetCode] Power of Two
- 【LeetCode】Power of Two
- Power of Two
- power of two
- [Leetcode]Power of Two
- Power of Two
- [leetCode] Power of Two
- Power of Two
- 231Power of Two
- leetcode --Power of Two
- Power of Two
- leetcode: Power of Two
- Power of Two
- Power of Two
- Power of Two
- Leetcode46: Power of Two
- LeetCode Power of Two
- Markdown使用小结
- IntelliJ Idea+GitHub设置同步工程
- 求两个数的最大公约数 C++实现
- 黑马程序员——java基础---集合(第17天)
- 对.net framework的理解
- power of two
- 也许可以通过这种方式读取配置文件
- jQuery源码分析
- PAT《数据结构学习与实验指导》实验项目集 2-07
- PC-lint9.0版
- Hibernate(之一)--基本介绍
- 字符串匹配的KMP算法(通俗易懂版)
- 图的深度优先搜索
- C++ 11 右值引用以及std::move