![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
练习题
小宣子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 · 162 阅读 · 0 评论 -
【练习题】数字和为sum的方法数(动态规划)
1、暴力递归法(会超时,只能通过40%,但方法是对的)从第0个数开始,每个位置可以有两种选择,要or不要,当走到最后位置,如果和==sum,就符合要求#include<iostream>#include<vector>using namespace std;int isSum(vector<int> data, int i, int ...原创 2018-08-07 10:42:45 · 1875 阅读 · 0 评论 -
【练习题】打印1到最大的n位数
题目:输入数字n,按顺序打印从1到最大的n位数。 比如,输入3,打印1、2、3陷阱:n的范围不知道,当输入n很大时,要考虑用int、long long是否会溢出,就转变为了大数问题其实这个问题可以转化为数字排列的问题,用递归来解决全排列 n位数,每一位从1到9,从第一位开始依次向下一位递归void oneTomaxN(int n){ if(n<=0) ...原创 2018-08-02 12:17:39 · 169 阅读 · 0 评论 -
【练习题】母牛生牛问题
题目:母牛每年生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设不会死。求N年后,母牛的数量。不知如何下手,先列出来看一下 我们从列出来的结果可以得出如图的结论: 今年的就=去年的牛+新生的 只有三年前的才可以生牛,每只生一只,所以新生的牛的数量就==三年前牛的数量...原创 2018-08-06 10:45:38 · 1241 阅读 · 0 评论 -
【练习题】打印一个字符串的全部子序列,包括空字符串
题目:打印一个字符串的全部子序列,包括空字符串首先明确,子序列!=子串 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对顺序一致,并不要求连续。例:“abc” 从位置0开始,有两种决策1、要;2、不要 向后走,每个位置同样两种决策,递归递归结束就是走到了字符串最后void printAllSub(string str, int i, string res){...原创 2018-08-06 10:21:11 · 1533 阅读 · 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 · 4573 阅读 · 0 评论 -
【练习题】加油站 gas-station
在一条环形路线上有N个加油站,在那里i站的油量为i。 你有一辆装有无限油箱的汽车,从第一站到下一站(i+1)需要耗费[i]的汽油。你从一个加油站的空油箱开始旅程。 如果你可以绕着赛道走一次,就返回启动加油站的指数,否则返回-1。 注意: 解决方案保证是唯一的。这道题是LeetCode上的一道题,这道题并不是一道难题,想明白了,是一道非常简单的题 加油站i有油量...原创 2018-07-10 15:41:24 · 220 阅读 · 0 评论 -
【练习题】数组全排列
next_permutationclass Solution {public: vector<vector<int> > permute(vector<int>& num) { vector<vector&原创 2018-07-09 14:07:12 · 213 阅读 · 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 · 952 阅读 · 0 评论 -
小项目--文件压缩学习记录【菜鸟学习日记】
文件压缩原理(这个小项目要用到的知识:哈夫曼树、堆) 例如我们有一个这样的文档 首先我们要先统计字符出现的次数a-4b-3c-2d-1 然后用其去构造一颗Huffman Tree 利用这颗树生成哈夫曼编码 a : 0 b : 11 c : 101 d : 100 将原文件转换成对应的哈夫曼编码,可以看出将 原文件10个字符转换成了不到3个字符...原创 2018-03-28 10:55:32 · 160 阅读 · 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 · 169 阅读 · 0 评论 -
【练习题】二叉树的镜像
思路:我们先前序遍历这棵树的每个节点,如果遍历到的节点有子结点,就交换它的两个子节点。当交换完所有非叶子节点的左右节点之后,就得到了树的镜像void merrorTree(Node* root){ if(root==NULL) return; if(root->left==NULL&&root->right==NULL) ...原创 2018-08-02 16:16:04 · 151 阅读 · 0 评论