算法题
五道口的杰洛特
我宁可什么都不选择
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何不用加号实现加法运算
当第一次面对这个问题的时候,我想到应该是用位运算。计算机的基本电路可以实现所有基本运算。 首先,加法应该如何运算? 1 2 3 + 7 8 9 ------------ 3+9 等于2进1 2+8 等于0进1 +上一位进的1 1+7等于8 +上一位进的1 所以可以看出,加法本身是进位和本位的结合。确切的说,是当前位的本位,加上当前位前面一位的进位的和。或者说,是所有进位进位左...原创 2018-10-07 13:47:53 · 549 阅读 · 0 评论 -
单链表的快速排序
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: void ...原创 2019-01-30 02:57:29 · 214 阅读 · 0 评论 -
位运算实现数字二进制翻转
#include <cstdio> #include <cstring> #include <iostream> #include <string> #include <vector> using namespace std; int main() { int n; while(cin >> n) ...原创 2018-12-24 17:29:29 · 703 阅读 · 0 评论 -
Two Sum
http://oj.leetcode.com/problems/two-sum/ Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly o...原创 2018-11-18 00:44:24 · 150 阅读 · 0 评论 -
找出数组中出现次数超过一半的元素,找出数组中出现次数超过三分之一的元素
二分之一 如果数组中保证有一个元素数目超过一半,那么对其进行计数,遍历到一个该元素则count++,否则--,那么最后遍历完成之后这个元素的count必然是正数。 现在问题在于,如何找这个计数的元素。其实上面我们已经知道了,在遍历结束以后count必然大于零。所以我们可以在遍历的过程当中进行更改,如果count<0则直接把元素更换为当前的元素。遍历结束以后被统计的元素就是我们想要的,超过...原创 2018-11-17 22:39:08 · 1884 阅读 · 1 评论
分享