编程理解
文章平均质量分 73
我有我个性
积极、乐观、向上,希望学习到更多的东西
展开
-
编程理解——判断IP
IP地址的表示一般为A.B.C.D,一共四个数字和三个点号,其中ABCD都是0~255之间的数字。1、要求判断一个字符串是不是合法的IP地址。这个字符串的长度应该大于等于7,小于等于15。字符串必须要能分成四部分,而且每部分都是数字字符,分隔符号是点号。以下是自己的代码:#include #include using namespace std;bool judge(stri原创 2017-09-26 14:59:14 · 423 阅读 · 0 评论 -
常见编程题——数组中和为某一个值
题目描述:给定一个有n个数字的数组,给出一个数字m,要求所有和等于m的组合。思路:从头遍历,查找当前这个数在路径中时能不能和后面的数构成和,如果可以就输出这个路径,如果加上这个数比和sum大,说明不能有当前这个数,如果现在的和比sum小,就放入路径,继续查找。在VS2010中的程序如下:#include#include#include using namespace std;原创 2017-09-18 16:58:04 · 3014 阅读 · 0 评论 -
常见编程题——回文串
1、题目:判断一个字符串是否为回文。解析:前后扫描字符串时,如果一旦发现有一个位置的字符不相同,就肯定不是回文,如果遍历完都相同,就是回文。#include#includeusing namespace std;//循环的方式bool huiwen(string str){ int i=0,j=str.length()-1; while(i<j){ if(str[i]!原创 2017-09-18 21:24:59 · 1478 阅读 · 0 评论 -
常见编程——最长公共子序列(不连续)和最长公共子串(连续)
一个给定的序列的子序列,就是将给定序列中零个或多个元素去掉之后得到的结果。给定串中任意个连续的字符组成的子序列称为该串的子串。解决LCS问题,可以找出推导公式用递归方法,也可以借助动态规划的思想。原创 2017-09-19 08:47:56 · 6309 阅读 · 1 评论 -
关于链表的结点
输入一个链表,输出该链表中倒数第k个结点,k从1计数。 主要的难点在于链表只能从前往后遍历,不能从后往前遍历。一般的做法是:假设有n个结点,从头开始走第n-k+1个结点就是倒数第k个结点,但是要遍历两遍,第一遍药知道n是多少,第二遍再从头走n-k+1个结点。一种更优的方法是:定义两个指针,第一个指针从头开始先走k-1,第二个指针不动;从第k步开始,两个指针一起走,当第一个指针走到链表尾结点原创 2017-09-02 16:44:16 · 616 阅读 · 0 评论 -
编程理解——翻转前k个字符
题目:给定一个字符串s和整形数字k,需要将2k个字符中前k个字符进行翻转。当剩余字符不足k个时,翻转全部字符;当剩余的字符数大于等于k并小于2k时,则翻转前k个字符,剩余字符保持原状。字符串中只包含英文小写字母,长度不超过10000.输入:字符串s和整形数字k输出:翻转后的字符串示例1:输入:abcdefg 2 输出:bacdfeg(我自己补充的)示例2:输入:abcd 2 输出:原创 2017-09-28 21:22:21 · 790 阅读 · 1 评论 -
编程理解——电话号码对应的字符串
电话拨号键盘的数字键会对应若干个英文字母。比如说,2可以是A,B或C,3可以是D,E或F,等等。1和0没有对应的,可以忽略。a. 找出这个电话号码所能代表的所有字符串组合A。给定一个单词列表B(请设计一个数据结构来储存单词列表B),在问题a找到的字符串组合A中,找出这样一些字符串:该字符串的所有子串中至少有一个子串存在于单词列表B中。b.备注:请实现最高效的查询方法。现在给定一个电原创 2017-10-09 17:25:55 · 2044 阅读 · 0 评论 -
编程理解——大数相加
之前听别人说过这道题,昨晚做某家公司的笔试题遇到这个问题,今天面试也遇到这道题了,有时候想这题还真有缘~~~~~~最后彻底搞明白一下。两个数字的字符串,计算相加之后得到的字符串,当数很大的时候用这种方法计算高效。例如,string a=“453”,string b=“29”,add(a,b)输出“482”。#include #include using namespace std;st原创 2017-10-21 14:43:40 · 767 阅读 · 0 评论