07 2018 档案

摘要:1、题目描述 2、问题分析 这个题本质上还是按照链表翻转的思路来解,只是需要添加一些细节判断。 3、代码 阅读全文
posted @ 2018-07-18 20:00 山里的小勇子 阅读(171) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 对两个节点进行交换操作 3、代码 阅读全文
posted @ 2018-07-18 17:25 山里的小勇子 阅读(121) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 首先数出链表中的元素个数count,然后对k = k % count 求余数。接着将链表形成一个环,从最后一个元素开始,运动 count - k 步,此时节点的下一个节点就是结果的头节点。 3、代码 阅读全文
posted @ 2018-07-18 16:29 山里的小勇子 阅读(156) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 将链表拆分成两个,奇数节点形成一个链表,偶数节点形成另外一个链表,最后将偶数节点链表加在奇数节点链表后面。 3、代码 阅读全文
posted @ 2018-07-18 16:03 山里的小勇子 阅读(232) 评论(0) 推荐(0)
摘要:1、问题描述 2、问题分析 将句子拆分成单词,然后放入vector中,对每一个单词做改变,最后连成句子返回。 3、代码 阅读全文
posted @ 2018-07-18 15:17 山里的小勇子 阅读(229) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 对于链表中的每一个元素,找到其后面和它不相等的第一个元素,然后指向该元素。 3、代码 阅读全文
posted @ 2018-07-17 12:36 山里的小勇子 阅读(96) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 题目要求合并有序的两个链表,要求不能额外申请空间。 3、代码 阅读全文
posted @ 2018-07-17 11:25 山里的小勇子 阅读(154) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 首先将输入句子拆分成单词,在这个过程中将所有大写字母变换成小写字母,将每一个单词作为一个字符串放入一个 map<string,int> 容器中,最后遍历容器,查找出现次数最多且没有在banned中出现的字符串。 3、代码 阅读全文
posted @ 2018-07-16 14:55 山里的小勇子 阅读(287) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 遍历一次数组,以每个1 为起点向后数,数到0 时比较当前1的个数和最大1 的个数,然后将遍历的起点放到当前0 的后面。 3、代码 阅读全文
posted @ 2018-07-16 11:06 山里的小勇子 阅读(155) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 将数组中的元素 A[i] 放到 A[ A[i] - 1] 的位置。然后遍历一边数组,如果不满足 A[i] == i+1,则将A[i]添加到 结果中。 3、代码 阅读全文
posted @ 2018-07-14 20:10 山里的小勇子 阅读(143) 评论(0) 推荐(0)
摘要:1、题目描述 2.问题分析 使的 A[i] = i+1 ,最后检查不满足这个条件的i+1 .即为缺失的值。 3.代码 阅读全文
posted @ 2018-07-14 19:56 山里的小勇子 阅读(106) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 直接旋转字符串A,然后做比较即可。 3、代码 阅读全文
posted @ 2018-07-14 19:22 山里的小勇子 阅读(169) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 可以使用递归的方法解决,参考了别人的答案才写出来的。 3、代码 阅读全文
posted @ 2018-07-14 19:08 山里的小勇子 阅读(187) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用hashtable 的方法做,解法不是最优的,思路简单直观。 3、代码 阅读全文
posted @ 2018-07-14 10:07 山里的小勇子 阅读(123) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用hashTable 寻找,target - num[i] ,将时间复杂度降低到 O(n); 3、代码 阅读全文
posted @ 2018-07-14 07:56 山里的小勇子 阅读(173) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用快慢指针方法判断链表是否有环,然后寻找环开始的节点。 3、代码 阅读全文
posted @ 2018-07-13 16:17 山里的小勇子 阅读(129) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用快慢指针方法,一个快指针,一个慢指针,如果到某个时候,快指针追上了慢指针,则说明有环存在。 3、代码 阅读全文
posted @ 2018-07-13 11:36 山里的小勇子 阅读(115) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 根据 happy number 的 性质,如果循环7次还没有到达 1,则这个数不是happy number . 3、代码 阅读全文
posted @ 2018-07-13 11:23 山里的小勇子 阅读(193) 评论(0) 推荐(0)
摘要:1、问题描述 2、问题分析 循环拆分数字,然求和判断。 3、代码 阅读全文
posted @ 2018-07-13 10:56 山里的小勇子 阅读(118) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 将数值转换为二进制,然后将前面的 0 去掉,再遍历一边二进制字符串,对每个字符和其后部的字符进行比较。 3、代码 阅读全文
posted @ 2018-07-13 10:03 山里的小勇子 阅读(144) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 使用 C++的 bitset 库进行操作; 3、代码 阅读全文
posted @ 2018-07-13 09:42 山里的小勇子 阅读(118) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 从头遍历字符串,使用一个局部迭代器和局部变量记录该字符个数。如果个数>= 3 ,则将此时的迭代器位置和局部迭代器的位置保存到局部vector中。再将这个局部vector 保存到 最终的结果vector中。 3、代码 阅读全文
posted @ 2018-07-12 17:05 山里的小勇子 阅读(160) 评论(0) 推荐(0)
摘要:1、题目描述 2、分析 遍历字符串,使用C++ 的 标准库函数 isalpha() 判断字符是否为 字母,然后对其做 tolower() . 3、代码 阅读全文
posted @ 2018-07-12 16:36 山里的小勇子 阅读(155) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 在数组的首尾各加入INT_MIN ,然后遍历数组。 3、代码 阅读全文
posted @ 2018-07-12 14:12 山里的小勇子 阅读(171) 评论(0) 推荐(0)
摘要:1 题目描述 2、问题分析 直接从后向前遍历,找到 A[i] > A[i-1] 即可。 3.代码 阅读全文
posted @ 2018-07-12 12:49 山里的小勇子 阅读(228) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 直接按照加法运算规则运算即可,注意进位问题。 3、代码 阅读全文
posted @ 2018-07-12 11:28 山里的小勇子 阅读(136) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 按照手算乘法的过程进行计算,首先计算乘法,然后计算加法。 3、代码 阅读全文
posted @ 2018-07-12 11:15 山里的小勇子 阅读(158) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 使用string 的逆向指针,做二进制加法,注意进位问题就可以。 3、代码 阅读全文
posted @ 2018-07-12 09:05 山里的小勇子 阅读(161) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 从后向前做加法,等于10则进位,否则直接加1 ,返回 digits; 3、代码 阅读全文
posted @ 2018-07-11 20:42 山里的小勇子 阅读(194) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 使用bitset 类的方法 3、代码 阅读全文
posted @ 2018-07-11 17:37 山里的小勇子 阅读(133) 评论(0) 推荐(0)
摘要:1、题目描述 2.问题分析 使用C++ 标准库的 bitset 类,将整数转换为 二进制,然后将二进制表示转换为字符串,统计字符串中 1 的个数即可。 3、代码 阅读全文
posted @ 2018-07-11 17:17 山里的小勇子 阅读(140) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用C++ 标准库中的 bitset 类,将整数转换为二进制形式,然后再将其转换为字符串,最后比较字符串。 3、代码 阅读全文
posted @ 2018-07-11 17:11 山里的小勇子 阅读(135) 评论(0) 推荐(0)
摘要:1、题目描述 2、解法分析 首先,使用 ' . ' 号分隔的version 每两个点号之间的数字就是数值,使用 vector<string> 将每个version 字符串中的字符串摘取出来,然后对比对应的字符串表示的数字大小,本题使用 C++ 标准库中 stoi() 函数,将string 转换为数字 阅读全文
posted @ 2018-07-11 16:32 山里的小勇子 阅读(128) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 将words 中的每一个string 直接翻译成对应的Morse 码,然后将其放入 set 中,最后返回set的大小即可,此处利用的set 中元素不重复的性质。 3.代码 阅读全文
posted @ 2018-07-11 15:18 山里的小勇子 阅读(192) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 使用C++的迭代器 3、代码 阅读全文
posted @ 2018-07-10 20:19 山里的小勇子 阅读(215) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 对该问题,要找最小元,可以从后向前遍历,只要前一个元素大于当前元素,说明当前元素就是最小元。 3、代码 阅读全文
posted @ 2018-07-10 19:46 山里的小勇子 阅读(103) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目描述 直接申请内存,转置即可。 3、代码 阅读全文
posted @ 2018-07-10 19:17 山里的小勇子 阅读(338) 评论(0) 推荐(0)
摘要:1、题目描述 2.问题分析 直接是用hash table 解决问题 3、代码 阅读全文
posted @ 2018-07-10 19:04 山里的小勇子 阅读(145) 评论(0) 推荐(0)
摘要:1、题目描述 2、问题分析 使用unordered_set 将链表A中的节点地址全部插入,然后使用链表B中的每个节点在A中查找。 3、代码 阅读全文
posted @ 2018-07-10 17:06 山里的小勇子 阅读(154) 评论(0) 推荐(0)
摘要:1、题目描述 2、分析 首先将链表翻转,然后做加法。 最后将结果链表翻转。 3、代码 阅读全文
posted @ 2018-07-10 16:36 山里的小勇子 阅读(136) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目描述 题目思路可以参考合并单链表的思路,定义一个全局 进位标志,如果两个数值相加得到需要进位,则将进位标志置为1 。 3、代码 阅读全文
posted @ 2018-07-10 15:33 山里的小勇子 阅读(153) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 比较两个字符串中加入的一个字符,由于可能在字符串中加入一个已经存在的字符,因此使用hash table 去统计字符个数最好。 3、代码 阅读全文
posted @ 2018-07-10 14:43 山里的小勇子 阅读(167) 评论(0) 推荐(0)
摘要:1、题目描述 2、分析 3、代码 阅读全文
posted @ 2018-07-10 09:44 山里的小勇子 阅读(127) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 将 [ 0 , n ]之间的整数放到 n 个元素的数组中去,必然缺失一个元素。在一次遍历中,将元素n[i] 放到 n[ n[i] ] ,位置。最后检查元素值和下标不相等的情况。 3、代码 阅读全文
posted @ 2018-07-10 09:23 山里的小勇子 阅读(109) 评论(0) 推荐(0)
摘要:1、问题描述 2、题解思路 本题的思路是对于数组中每个正的元素,应该将其放到数组中对应的位置,比如元素1 ,应该放在数组的第一个位置。以此类推,最后检查数组中元素值和下标不匹配的情况。 3、代码 阅读全文
posted @ 2018-07-10 09:04 山里的小勇子 阅读(126) 评论(0) 推荐(0)
摘要:1、题目描述 2、题目分析 首先,这个题可以使用暴力解法,时间复杂度是O(n^2),这个显然是最容易的做法,但是效率不够高,题目提供了一种解法,使用两个指针,一个从头向尾部,另外一个从尾部向头部,每一步寻找最大的面积,然后较小的一边向前移动。 3、代码实现 阅读全文
posted @ 2018-07-09 21:22 山里的小勇子 阅读(130) 评论(0) 推荐(0)