随笔分类 -  数据结构与算法

1 2 下一页
剑指10二进制中1的个数
摘要:题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 class Solution {public: int NumberOf1(int n) { return bitset<32>(n).count(); }}; class Solution {public: int 阅读全文
posted @ 2020-07-22 10:40 滚雪球效应 阅读(113) 评论(0) 推荐(0)
剑指12 数值的整数次方
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 class Solution {public: double Power(double base, int exponent) { if 阅读全文
posted @ 2020-07-22 10:34 滚雪球效应 阅读(128) 评论(0) 推荐(0)
剑指10矩阵覆盖
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? class Solution {public: int rectCover(int number) { if (number<1) return 0; int 阅读全文
posted @ 2020-07-22 10:24 滚雪球效应 阅读(81) 评论(0) 推荐(0)
剑指09变态青蛙跳
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 class Solution {public: int jumpFloorII(int number) { int jumpFlo=1; while(--number) { ju 阅读全文
posted @ 2020-07-22 10:16 滚雪球效应 阅读(115) 评论(0) 推荐(0)
剑指09跳台阶
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 public class Solution { public int JumpFloor(int target) { if (target<=0){ return -1; 阅读全文
posted @ 2020-07-22 10:12 滚雪球效应 阅读(105) 评论(0) 推荐(0)
剑指07斐波那契数列
摘要:题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n<=39 class Solution {public: int Fibonacci(int n) { int f=0,g=1; while (n--){ g+=f; f= 阅读全文
posted @ 2020-07-22 10:04 滚雪球效应 阅读(139) 评论(0) 推荐(0)
剑指06旋转数组的最小数字
摘要:题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 class 阅读全文
posted @ 2020-07-22 09:46 滚雪球效应 阅读(134) 评论(0) 推荐(0)
剑指05两个栈实现一个队列
摘要:题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 class Solution{public: void push(int node) { stack1.push(node); } int pop() { int a; if (stack2.empty( 阅读全文
posted @ 2020-07-22 09:11 滚雪球效应 阅读(128) 评论(0) 推荐(0)
数据结构之二叉树
摘要:二叉树 实现一个二叉查找树,并且支持插入、删除、查找操作 实现查找二叉查找树中某个节点的后继、前驱节点 实现二叉树前、中、后序以及按层遍历 二叉查找树的特性,其任一节点,该节点的左子树上的所有值,都比该节点小,该节点的右子树上的所有值,都比该节点大。 查找操作,主要分以下几种情况 如果查找value 阅读全文
posted @ 2020-07-20 20:52 滚雪球效应 阅读(134) 评论(0) 推荐(0)
数据结构之堆
摘要:堆 实现一个小顶堆、大顶堆、优先级队列 实现堆排序 利用优先级队列合并K个有序数组 求一组动态数据集合的最大Top K 优先级队列是用来维护一组元素构成的集合S 的数据结构,每一个元素都含有一个关键字key。一个最大优先级队列支持一下操作:Insert(S,x):把元素x插入到队列中,与一般队列不同 阅读全文
posted @ 2020-07-20 20:50 滚雪球效应 阅读(263) 评论(0) 推荐(0)
数据结构之图
摘要:图 实现有向图、无向图、有权图、无权图的邻接矩阵和邻接表表示方法 实现图的深度优先搜索、广度优先搜索 实现Dijkstra算法、A*算法 实现拓扑排序的Kahn算法、DFS算法 #include<stdio.h>#include<iostream>#include<stdlib.h>#include 阅读全文
posted @ 2020-07-20 20:34 滚雪球效应 阅读(175) 评论(0) 推荐(0)
数据结构之排序
摘要:排序 实现归并排序、快速排序、插入排序、冒泡排序、选择排序 编程实现O(n)时间复杂度内找到一组数据的第K大元素 #include <iostream>#include <algorithm>//分区int partition(std::vector<int>&vec,int start,int e 阅读全文
posted @ 2020-07-20 20:22 滚雪球效应 阅读(145) 评论(0) 推荐(0)
数据结构之动态规划
摘要:动态规划 0-1背包问题 最小路径和 编程实现莱文斯坦最短编辑距离 编程实现查找两个字符串的最长公共子序列 编程实现一个数据序列的最长递增子序列 https://zhuanlan.zhihu.com/p/30959069 最小路径和 阅读全文
posted @ 2020-07-20 20:18 滚雪球效应 阅读(173) 评论(0) 推荐(0)
数据结构之字符串
摘要:字符串 实现一个字符集,只包含a~z这26个英文字母的Trie树 实现朴素的字符串匹配算法 class Trie: # word_end = -1 def __init__(self): """ Initialize your data structure here. """ self.root = 阅读全文
posted @ 2020-07-20 19:52 滚雪球效应 阅读(169) 评论(0) 推荐(0)
数据结构之散列表
摘要:散列表 实现一个基于链表法解决冲突问题的散列表 实现一个LRU缓存淘汰算法 /*链接法解决哈希散列碰撞问题*/#include <stdio.h>#include <stdlib.h>#include <time.h>#include <math.h> #define N 20 //数组数量 #de 阅读全文
posted @ 2020-07-20 19:48 滚雪球效应 阅读(171) 评论(0) 推荐(0)
数据结构之回溯
摘要:回溯 利用回溯算法求解八皇后问题 利用回溯算法求解0-1背包问题 利用回溯算法求解八皇后问题 八皇后问题(eight queens problem)是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上 阅读全文
posted @ 2020-07-20 18:55 滚雪球效应 阅读(637) 评论(0) 推荐(0)
数据结构之分治
摘要:分治 利用分治算法求一组数据的逆序对个数 背景 逆序数:也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。 阅读全文
posted @ 2020-07-20 17:19 滚雪球效应 阅读(290) 评论(0) 推荐(0)
数据结构之二分查找
摘要:实现一个有序数组的二分查找算法 实现模糊二分查找算法(比如大于等于给定值的第一个元素) 实现一个有效数组的二分查找算法 #include <stdio.h>int binary_search(int arr[],int key,int sz){ int mid = 0; int left = 0; 阅读全文
posted @ 2020-07-20 16:35 滚雪球效应 阅读(194) 评论(0) 推荐(0)
数据结构之队列
摘要:队列 用数组实现一个顺序队列 用链表实现一个链式队列 实现一个循环队列 用数组实现一个顺序队列 几个问题: 队列方法:入队、出队 队列的存储:即队首队尾两个指针, 扩容:如果队列容量不够了,应该扩容,如果队尾没有位置了,队首有位置,应该把元素往前移 主要是上面三个问题,在代码中都有体现,上面的扩容方 阅读全文
posted @ 2020-07-20 16:15 滚雪球效应 阅读(347) 评论(0) 推荐(0)
剑指04重建二叉树
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 import java.util.Arrays;/* 阅读全文
posted @ 2020-07-20 13:17 滚雪球效应 阅读(131) 评论(0) 推荐(0)

1 2 下一页