练习题
小宣子xym
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
模拟实现atoi
#include #include #include #include #include //考虑到以下几点: //NULL //空字符串 //+- //溢出 enum Status { VALID,//合法 INVALID//非法 }; enum Status status = INVALID; int my_atoi(const char *str) { int flag = -原创 2018-01-21 14:59:23 · 221 阅读 · 0 评论 -
练习题--空格替换
剑指offer经典题 #include<stdio.h> #include<iostream> using namespace std; //传进来要替换的字符串,以及字符数组的容量(考虑内存足够问题) void ReplaceBlank(char string[], int capacity) { //1、判断 if (string == NULL...原创 2018-03-07 18:35:35 · 238 阅读 · 0 评论 -
小项目--文件压缩学习记录【菜鸟学习日记】
文件压缩原理 (这个小项目要用到的知识:哈夫曼树、堆) 例如我们有一个这样的文档 首先我们要先统计字符出现的次数 a-4 b-3 c-2 d-1 然后用其去构造一颗Huffman Tree 利用这颗树生成哈夫曼编码 a : 0 b : 11 c : 101 d : 100 将原文件转换成对应的哈夫曼编码,可以看出将 原文件10个字符转换成了不到3个字符...原创 2018-03-28 10:55:32 · 221 阅读 · 0 评论 -
【练习题】——连续最大子数组问题(最简单的解释)
问题描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例:输入的数组为1, -2, 3, 10, -4, 7, 2, -5, 和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 分析: int maxSum(int* a,...原创 2018-05-28 15:54:27 · 1035 阅读 · 0 评论 -
【练习题】数组全排列
next_permutation class Solution { public: vector&amp;lt;vector&amp;lt;int&amp;gt; &amp;gt; permute(vector&amp;lt;int&amp;gt;&amp;amp; num) { vector&amp;lt;vector&原创 2018-07-09 14:07:12 · 284 阅读 · 0 评论 -
【练习题】加油站 gas-station
在一条环形路线上有N个加油站,在那里i站的油量为i。 你有一辆装有无限油箱的汽车,从第一站到下一站(i+1)需要耗费[i]的汽油。你从一个加油站的空油箱开始旅程。 如果你可以绕着赛道走一次,就返回启动加油站的指数,否则返回-1。 注意: 解决方案保证是唯一的。 这道题是LeetCode上的一道题,这道题并不是一道难题,想明白了,是一道非常简单的题 加油站i有油量...原创 2018-07-10 15:41:24 · 304 阅读 · 0 评论 -
【练习题】给定两个整数n和k,返回1 ... n中k个数的所有组合
例: For example, If n = 4 and k = 2, a solution is [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 分析题目:例子中,n=4,k=2; 1,2,3,4 两个数一组组合 我们通常的思路就是先选定第一个数,从1开始,然后分别和后面的数组合,1完了,再向后遍...原创 2018-07-07 15:35:15 · 4808 阅读 · 0 评论 -
【练习题】打印一个字符串的全部子序列,包括空字符串
题目:打印一个字符串的全部子序列,包括空字符串 首先明确,子序列!=子串 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对顺序一致,并不要求连续。 例:“abc” 从位置0开始,有两种决策1、要;2、不要 向后走,每个位置同样两种决策,递归 递归结束就是走到了字符串最后 void printAllSub(string str, int i, string res) {...原创 2018-08-06 10:21:11 · 1657 阅读 · 0 评论 -
【练习题】母牛生牛问题
题目:母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设不会死。求N年后,母牛的数量。 不知如何下手,先列出来看一下 我们从列出来的结果可以得出如图的结论: 今年的就=去年的牛+新生的 只有三年前的才可以生牛,每只生一只,所以新生的牛的数量就==三年前牛的数量...原创 2018-08-06 10:45:38 · 1393 阅读 · 0 评论 -
【练习题】打印1到最大的n位数
题目:输入数字n,按顺序打印从1到最大的n位数。 比如,输入3,打印1、2、3 陷阱:n的范围不知道,当输入n很大时,要考虑用int、long long是否会溢出,就转变为了大数问题 其实这个问题可以转化为数字排列的问题,用递归来解决 全排列 n位数,每一位从1到9,从第一位开始依次向下一位递归 void oneTomaxN(int n) { if(n&amp;lt;=0) ...原创 2018-08-02 12:17:39 · 240 阅读 · 0 评论 -
【练习题】数字和为sum的方法数(动态规划)
1、暴力递归法(会超时,只能通过40%,但方法是对的) 从第0个数开始,每个位置可以有两种选择,要or不要,当走到最后位置,如果和==sum,就符合要求 #include&lt;iostream&gt; #include&lt;vector&gt; using namespace std; int isSum(vector&lt;int&gt; data, int i, int ...原创 2018-08-07 10:42:45 · 2121 阅读 · 0 评论 -
【练习题】二叉树的镜像
思路:我们先前序遍历这棵树的每个节点,如果遍历到的节点有子结点,就交换它的两个子节点。当交换完所有非叶子节点的左右节点之后,就得到了树的镜像 void merrorTree(Node* root) { if(root==NULL) return; if(root->left==NULL&&root->right==NULL) ...原创 2018-08-02 16:16:04 · 223 阅读 · 0 评论
分享