
数据结构与算法
圣骐
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求数字中1的个数
最近还是在学习《redis设计与实现》及源码,学习到位操作这里,这里谈及了用汉明权重swar算法获取二进制中1的个数,因此复习特此相关算法。直接上代码如下: /*一个一个数看最末位是否是1*/ int ones_func1(int num) { int count = 0; int tmp_num = num; while(tmp_num > 0) { ...原创 2018-12-03 21:20:56 · 646 阅读 · 0 评论 -
leetcde 43 大数乘法
大数乘法 模拟数字相乘。 class Solution { public: string multiply(string num1, string num2) { if (num1 == "0" || num2 == "0") return "0"; vector<int> tmp(num1.size() + num2.s...原创 2019-06-02 21:01:27 · 151 阅读 · 0 评论 -
leetcode 38 string count and say
leetcode 38 本题采用递归的方式解决,若采用空间换时间,时间还能在优化一下。 class Solution { public: string countAndSay(int n) { if (n == 1) { return "1"; } if (n == 2) { ...原创 2019-06-02 18:23:26 · 141 阅读 · 0 评论 -
Reverse Nodes in k-Group
leetcode 25 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ...原创 2019-06-08 02:04:55 · 216 阅读 · 0 评论 -
list swap pairs
leetcode 24 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ...原创 2019-06-08 00:55:44 · 275 阅读 · 0 评论 -
链表穿针
把链表A1->A2->A3…->An变成A1->An->A2->An-1… #include <iostream> #include <deque> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x):va...原创 2019-06-08 00:46:57 · 163 阅读 · 0 评论 -
merge K sorted lists
leetcode 23 采用分治法和队列解决。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { ...原创 2019-06-06 00:47:29 · 142 阅读 · 0 评论 -
用下标法求数组中重复的数,数组范围1-n,其中有重复
剑指offer面试题51. #include <stdio.h> #include <stdlib.h> int find_dump(int *num, int len, int *dump) { int i; for (i=0; i<len; i++) { if (i + 1 != num[i] && ...原创 2019-06-06 00:11:18 · 260 阅读 · 0 评论 -
递归+回溯求解八皇后问题
int total = 0; int arr[8][8] = {0}; void printQueue() { int i,j; for (i=0; i<8; i++) { for(j=0; j<8; j++) printf("%d\t",arr[i][j]); printf("\n"); } ...原创 2019-05-27 10:30:32 · 172 阅读 · 0 评论 -
leetcode16 3sum-closes
leetcode16 3sum-closest class Solution { public: int threeSumClosest(vector<int>& nums, int target) { int sum = 0; int sum_res = 0; sort(nums.begin(),nums.end());...原创 2019-05-07 22:02:26 · 145 阅读 · 0 评论 -
查找两个排序好数组的第K个数
int find_kthnum(int *num1, int n1, int *num2, int n2, int k) { if (n2 < n1) { return find_kthnum(num2, n2, num1, n1, k); } if (k==1) { return min(num1[0],num2[0]...原创 2019-05-10 09:20:54 · 422 阅读 · 0 评论 -
leetcode N叉树按层遍历
leetcode N叉树按层遍历 class Solution { public: vector<vector<int>> levelOrder(Node* root) { vector<vector<int>> res; if (root == NULL) return res; ...原创 2019-05-06 21:53:28 · 205 阅读 · 0 评论 -
求数组中第二小的数
这是一篇有故事的博客,这么简单的问题不会,简直想扇自己几个耳光。 int find2nd_num(int *num,int len) { int s1,s2; if (num[0] < num[1]) { s1 = num[0]; s2 = num[1]; } else { s1 = num[1]...原创 2019-06-04 23:05:03 · 2285 阅读 · 1 评论