
Lintcode
水果先生
Tencent AI
展开
-
Lintcode 排列序号
题目:给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。样例:例如,排列 [1,2,4] 是第 1 个排列。分析: 这个题目的意思就是,给定一组数字(不重复),给出某一个排列,求这个排列在全排列中按照字典序的位置。思路一:首先可以想到使用C++中的STL:next_permutation函数生成全排列,然后一个个遍历这个全排列,找到目标排列。//代码超原创 2016-12-12 12:58:34 · 1161 阅读 · 0 评论 -
Lintcode 数组剔除元素后的乘积
题目给定一个整数数组A。定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。样例给出A=[1, 2, 3],返回 B为[6, 3, 2]class Solution {public: /** * @param A: Given an integers array A * @return: A l原创 2016-12-13 11:20:58 · 446 阅读 · 0 评论 -
Lintcode 链表划分
题目:给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。样例:给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null/** * Definition of ListNode * class ListNode { * public: * int val;原创 2016-12-09 12:23:41 · 754 阅读 · 0 评论 -
Lintcode 翻转字符串
题目给定一个字符串,逐个翻转字符串中的每个单词。说明单词的构成:无空格字母构成一个单词输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个样例给出s = “the sky is blue”,返回”blue is sky the”class Solution {public: /** * @param原创 2016-12-15 21:01:10 · 1254 阅读 · 0 评论 -
Lintcode 恢复旋转数组
题目给定一个旋转排序数组,在原地恢复其排序。样例什么是旋转数组?比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3][4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]class Solution {public: void Reverse(vector<int> &nums,int l原创 2016-12-14 14:37:24 · 504 阅读 · 0 评论 -
Lintcode 反转整数
题目将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。样例给定 x = 123,返回 321给定 x = -123,返回 -321class Solution {public: /** * @param n the integer to be reversed * @return the reversed integer *原创 2016-12-14 16:50:06 · 1167 阅读 · 0 评论