上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 62 下一页
摘要: 题意:将指定的一段位置[m,n]的链表反置,返回链表头。思路:主要麻烦在链表头,如果要从链表头就开始,比较特殊。 目前用DFS实现,先找到m-1的位置,再找到n+1的位置,中间这段就是否要反置的,交给DFS解决,用个计数器来统计已经反置的个数即可。 1 /** 2 * Definition fo... 阅读全文
posted @ 2015-07-29 11:20 xcw0754 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵二叉树,要求找出任意两个节点(也可以只是一个点)的最大路径和,至少1个节点,返回路径和。(点权有负的。)思路:DFS解决,返回值是,经过从某后代节点上来到当前节点且路径和最大的值。要注意如果子树传来的如果是负值,是可以同时丢弃的,但至少要将当前节点的val更新答案。 1 /** 2 *... 阅读全文
posted @ 2015-07-29 09:47 xcw0754 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵树,每个结点的子树下的结点都是它的统治对象,问有多少个统治对象数目为k的结点?思路:每个结点都设一个cnt来记数,只要将每个结点往上回溯,直到树根,经过的每个结点都将计数器加1。最后再扫一遍,将cnt等于k的结点统计一下。#include #define LL long long#def... 阅读全文
posted @ 2015-07-28 19:38 xcw0754 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个画家画出一张,有3种颜色的笔,R、G、B。R看成'\',B看成'/',G看成这两种的重叠(即叉形)。给的是一个矩阵,矩阵中只有4种符号,除了3种颜色还有'.',代表没有涂色。问最小耗费多少笔即可画成这副图?思路: 最小耗费就是斜着的可以一笔搞定,但是如果中间隔着'.'或者其他一种形状... 阅读全文
posted @ 2015-07-28 19:33 xcw0754 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题意:从1~1000,000的每个自然数质因子分解,不同因子的个数作为其f 值,比如12=2*2*3,则f(12)=2。将100万个数转成他们的f值后变成新的序列seq。接下来T个例子,每个例子一个询问区间seq[L,R]。问该子序列中任意两个不同下标的数,他们的GCD值最大为多少?思路:(1)质因... 阅读全文
posted @ 2015-07-28 19:24 xcw0754 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个单链表,每k个节点就将这k个节点反置,若节点数不是k的倍数,则后面不够k个的这一小段链表不必反置。思路:递归法。每次递归就将k个节点反置,将k个之后的链表头递归下去解决。利用原来的函数接口即可,不用重新定义。 1 /** 2 * Definition for singly-linked... 阅读全文
posted @ 2015-07-28 10:39 xcw0754 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个单链表,若其有环,返回环的开始处指针,若无环返回NULL。思路: (1)依然用两个指针的追赶来判断是否有环。在确定有环了之后,指针1跑的路程是指针2的一半,而且他们曾经跑过一段重叠的路(即1跑过,2也跑过),就是那段(环开始处,相遇处),那么指针2开始到环开始处的距离与head到指针相... 阅读全文
posted @ 2015-07-28 10:03 xcw0754 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个单链表,判断其是否出现环!思路:搞两个指针,每次,一个走两步,另一个走一步。若有环,他们会相遇,若无环,走两步的指针必定会先遇到NULL。 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * ... 阅读全文
posted @ 2015-07-28 09:24 xcw0754 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个字符串,问:要补多少个字符才能让其出现循环?出现循环是指循环节与字符串长度不相等。比如abc要补多个变成abcabc。若已经循环,输出0。思路: 根据最小循环节的公式,当len%(len-next[len])==0时,最小循环节为len/(len-next[len]),而当len%... 阅读全文
posted @ 2015-07-27 23:32 xcw0754 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 题意: 定义a为一个字符串,a*a表示两个字符相连,即 an+1=a*an,也就是出现循环了。给定一个字符串,若将其表示成an,问n最大为多少?思路: 如果完全不循环,顶多就是类似于abc1这样,即n=1。但是如果循环出现了,比如abab,那就可以表示成(ab)2。还有一点,就是要使得n尽量大,... 阅读全文
posted @ 2015-07-27 22:36 xcw0754 阅读(505) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 62 下一页