![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
五道口的杰洛特
我宁可什么都不选择
展开
-
如何不用加号实现加法运算
当第一次面对这个问题的时候,我想到应该是用位运算。计算机的基本电路可以实现所有基本运算。首先,加法应该如何运算? 1 2 3+ 7 8 9------------3+9 等于2进12+8 等于0进1 +上一位进的11+7等于8 +上一位进的1所以可以看出,加法本身是进位和本位的结合。确切的说,是当前位的本位,加上当前位前面一位的进位的和。或者说,是所有进位进位左...原创 2018-10-07 13:47:53 · 472 阅读 · 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 · 176 阅读 · 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 · 617 阅读 · 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 · 107 阅读 · 0 评论 -
找出数组中出现次数超过一半的元素,找出数组中出现次数超过三分之一的元素
二分之一如果数组中保证有一个元素数目超过一半,那么对其进行计数,遍历到一个该元素则count++,否则--,那么最后遍历完成之后这个元素的count必然是正数。现在问题在于,如何找这个计数的元素。其实上面我们已经知道了,在遍历结束以后count必然大于零。所以我们可以在遍历的过程当中进行更改,如果count<0则直接把元素更换为当前的元素。遍历结束以后被统计的元素就是我们想要的,超过...原创 2018-11-17 22:39:08 · 1742 阅读 · 1 评论