<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FD1247的博客]]></title><description><![CDATA[个人博客]]></description><link>https://blog.youkuaiyun.com/FD1247</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FD1247]]></copyright><item><title><![CDATA[正则表达式匹配]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/84763591</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/84763591</guid><author>FD1247</author><pubDate>Mon, 03 Dec 2018 14:43:53 +0800</pubDate><description><![CDATA[问题描述
请实现一个函数用来匹配包含&amp;amp;amp;quot;...&amp;amp;amp;quot; 和的&amp;amp;amp;quot;∗*∗&amp;amp;amp;quot; 的正则表达式。模式中的字符&amp;amp;amp;quot;...&amp;amp;amp;quot;表示任意一个字符，而 &amp;amp;amp;quot;∗*∗&amp;amp;amp;quot;表示它前面的字符可以出现任意次（含0次）。在本题中，匹配是指字符串的所有字符匹配整个模式。例如，字符串&am]]></description><category></category></item><item><title><![CDATA[Pow函数]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/84634364</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/84634364</guid><author>FD1247</author><pubDate>Thu, 29 Nov 2018 16:00:18 +0800</pubDate><description><![CDATA[问题描述
实现函数double Power(double base, int exponent)，求base的exponent次方。不得使用库函数，同时不需要考虑大数问题。

问题分析
这道题本身并不难，但是要写出完善的代码，需要考虑到各种可能的输入。

1.exponent为0的情况。
2.exponent 为负数的情况，需要先转为正数计算，再求结果的倒数。
3.base 为0，exponent...]]></description><category></category></item><item><title><![CDATA[被3整除]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/79753114</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/79753114</guid><author>FD1247</author><pubDate>Fri, 30 Mar 2018 09:55:19 +0800</pubDate><description><![CDATA[问题描述

对于这样一个数列，1，12，123，⋯⋯\cdots  ,12345678910, 1234567891011。给出两个端点left, right 。计算从数列的第left个数到第right个（包含端点）数中有多少个数可以被3整除。



解决方法

寻找规律：




  序号
  1
  2
  3
  4
  5
  6
  7
  8
  9



  数字
  1
  12
...]]></description><category></category></item><item><title><![CDATA[移动数组中为0的元素]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/79752076</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/79752076</guid><author>FD1247</author><pubDate>Fri, 30 Mar 2018 08:53:33 +0800</pubDate><description><![CDATA[问题描述

给定一个数组，将其中值为0的元素放到数组的后面，并且保持其他元素的相对位置不变，要求不使用额外的空间。



思路

不能使用额外的空间，则需要用到交换数组中的元素。只需要把数组后面的非0的元素与前面为0的元素交换，就可以了。进行一次遍历即可，代码如下。

代码



#include &amp;lt;iostream&amp;gt;

using namespace std;

int main()...]]></description><category></category></item><item><title><![CDATA[动态规划：01背包]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/78161259</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/78161259</guid><author>FD1247</author><pubDate>Thu, 05 Oct 2017 14:24:52 +0800</pubDate><description><![CDATA[问题描述01背包是一个可以用动态规划解决的经典问题：给定nn种物品和一背包。物品ii的重量是wiw_i ,其价值为viv_i，背包的容量为cc。问应如何选择装入背包中的物品，使得装入背包的物品的总价值最大？ 
在选择装入背包的物品时，对每种物品ii只有两种选择，即装入背包或不装入背包。不能将物品ii装入背包多次，也不能只装入部分的物品ii。因此，称为01背包问题。形式化描述给定c>0,wi>0,vi]]></description><category></category></item><item><title><![CDATA[排序算法总结：冒泡排序]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/76528957</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/76528957</guid><author>FD1247</author><pubDate>Tue, 01 Aug 2017 15:11:15 +0800</pubDate><description><![CDATA[基本思想冒泡排序是非常容易理解和实现，以从小到大排序举例： 设数组长度为N。 
1. 比较相邻的前后二个数据，如果前面数据大于后面的数据，就将二个数据交换。 
 2. 这样对数组的第0个数据到N-1个数据进行一次遍历后，最大的一个数据就 “沉”到数组第N-1个位置。 
 3. N=N-1，如果N不为0就重复前面二步，否则排序完成。据此，可以容易的写出如下代码。void BubbleSort(int]]></description><category></category></item><item><title><![CDATA[STL之map应用 回文串]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/76503051</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/76503051</guid><author>FD1247</author><pubDate>Tue, 01 Aug 2017 10:17:15 +0800</pubDate><description><![CDATA[问题描述牛牛有一些字母卡片,每张卡片上都有一个小写字母,所有卡片组成一个字符串s。牛牛一直认为回文这种性质十分优雅,于是牛牛希望用这些卡片拼凑出一些回文串,但是有以下要求: 
1、每张卡片只能使用一次 
2、要求构成的回文串的数量最少 
牛牛想知道用这些字母卡片,最少能拼凑出多少个回文串。 
例如: s = “abbaa”,输出1,因为最少可以拼凑出”ababa”这一个回文串 
s = “abc”,]]></description><category></category></item><item><title><![CDATA[字典序位置]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/73195403</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/73195403</guid><author>FD1247</author><pubDate>Tue, 13 Jun 2017 21:14:43 +0800</pubDate><description><![CDATA[问题描述现在有”abcdefghijkl”12个字符，将其所有的排列中按字典序排列，给出任意一种排列，说出这个排列在所有的排列中是第几小的？解决思路对于一个单词A1A2A3…An,对于A1,在字典[A1:An]中以A1开头的第一个单词的位置是cnt(A1)∗（n−1)!。其中cnt(A1)表示在A2到An中小于A1的个数。（单词位置从0开始）对于一个单词A_1A_2A_3 \dots A_n, 对于]]></description><category></category></item><item><title><![CDATA[动态规划：击鼓传花]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/70765865</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/70765865</guid><author>FD1247</author><pubDate>Tue, 25 Apr 2017 19:19:03 +0800</pubDate><description><![CDATA[问题描述学校联欢晚会的时候，为了使每一个同学都能参与进来，主持人常常会带着同学们玩击鼓传花的游戏。游戏规则是这样的：n个同学坐着围成一个圆圈，指定一个同学手里拿着一束花，主持人在旁边背对着大家开始击鼓，鼓声开始之后拿着花的同学开始传花，每个同学都可以把花传给自己左右的两个同学中的一个（左右任意），当主持人停止击鼓时，传花停止，此时，正拿着花没传出去的那个同学就要给大家表演一个节目。聪明的小赛提出一个]]></description><category></category></item><item><title><![CDATA[动态规划：最长公共子序列]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/70231253</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/70231253</guid><author>FD1247</author><pubDate>Tue, 18 Apr 2017 18:24:37 +0800</pubDate><description><![CDATA[问题描述

一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说，若给定序列X={x1,x2,⋯,xm}X = \{x_1, x_2, \cdots, x_m\} , 则另一序列Z={z1,z2,⋯,zk}Z = \{z_1, z_2, \cdots, z_k\}, 是X的子序列是指存在一个严格递增下标序列{i1,i2,⋯,ik}\{i_1, i_2, \cdots, i_k\},]]></description><category></category></item><item><title><![CDATA[动态规划：乘积最大]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/70146062</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/70146062</guid><author>FD1247</author><pubDate>Wed, 12 Apr 2017 18:31:46 +0800</pubDate><description><![CDATA[问题描述有一个整数n，将n分解成若干个不同自然数之和，问如何分解能使这些数的乘积最大，输出这个乘积m动态规划根据题意，对于一个整数n，必然存在一个整数x，使得从n中分解出整数x可以使其最后获得最大乘积，这要求对n-x的分解也是最优解。我们用dp[i][j]表示从整数i分解出整数j的这种情况下，能达到的最大乘积。那么dp[i][j]可以递归的定义为 
dp[i][j]={1max(dp[i−j][k]]]></description><category></category></item><item><title><![CDATA[动态规划：矩阵连乘问题]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/70053679</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/70053679</guid><author>FD1247</author><pubDate>Tue, 11 Apr 2017 15:09:33 +0800</pubDate><description><![CDATA[动态规划解决矩阵连乘问题]]></description><category></category></item><item><title><![CDATA[合并排序算法]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/69801779</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/69801779</guid><author>FD1247</author><pubDate>Sun, 09 Apr 2017 09:37:35 +0800</pubDate><description><![CDATA[算法思想合并排序算法是用分治策略实现对n个元素进行排序的算法。其基本思想是：将待排序元素分成大小大致相同的两个子集合，分别对两个子集合进行排序，最终将排好序的子集合合并成所要求的排好序的集合。合并算法可递归描述如下：void MergeSort(int a[], int left, int right)
{
    if (left < right)
    { //至少还有两个元素]]></description><category></category></item><item><title><![CDATA[动态规划：考试通过概率]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/69676007</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/69676007</guid><author>FD1247</author><pubDate>Sat, 08 Apr 2017 16:08:52 +0800</pubDate><description><![CDATA[问题描述小明同学要参加一场考试，考试一共有n道题目，小明必须做对至少60%的题目才能通过考试。考试结束后，小明估算出每题做对的概率，p1,p2,…,pn。你能帮他算出他通过考试的概率吗？输入输出要求输入： 
输入第一行一个数n（1<=n<=100），表示题目的个数。第二行n个整数，p1,p2,…,pn。表示小明有pi%的概率做对第i题。（0<=pi<=100） 
输出： 
小明通过考试的概率，最后结]]></description><category></category></item><item><title><![CDATA[动态分配内存，快速排序]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/52965163</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/52965163</guid><author>FD1247</author><pubDate>Sat, 29 Oct 2016 16:36:08 +0800</pubDate><description><![CDATA[C语言动态分配内存及快速排序]]></description><category></category></item><item><title><![CDATA[TCP的三次握手和四次挥手]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/52939141</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/52939141</guid><author>FD1247</author><pubDate>Wed, 26 Oct 2016 22:33:37 +0800</pubDate><description><![CDATA[TCP的三次握手和四次挥手TCP简介TCP（Transmission Control Protocol 传输控制协议）是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中，它完成第四层传输层所指定的功能，用户数据报协议（UDP）是同一层内另一个重要的传输协议。在因特网协议族（Internet protocol suite）中，TCP层是位于IP层之上，应用层之下的中间]]></description><category></category></item><item><title><![CDATA[以顺序表存储的大整数运算]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/52410808</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/52410808</guid><author>FD1247</author><pubDate>Fri, 02 Sep 2016 09:11:49 +0800</pubDate><description><![CDATA[大整数运算的实现原理　　写一个BigInt(大整数)类，其中数据成员是一个顺序表，用来保存大整数．其方法是将数的每一位数(0~9中的一个)存放在每一个节点中，高位存放在高下标，低位存放在低下标．注意：实现时下标是从１开始的．类中的运算如Add(), Sub()等全用友元函数来实现．类中还有一些辅助的函数，如push_back(), push_front()等是用BigInt的数据成员调用了顺序表中的]]></description><category></category></item><item><title><![CDATA[SGI STL 之空间配置器]]></title><link>https://blog.youkuaiyun.com/FD1247/article/details/52281103</link><guid>https://blog.youkuaiyun.com/FD1247/article/details/52281103</guid><author>FD1247</author><pubDate>Mon, 22 Aug 2016 22:40:57 +0800</pubDate><description><![CDATA[sgi stl]]></description><category></category></item></channel></rss>