最近在lintcode上刷题,遇到这一问题。 问题描述: 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。 置换的意思是通过改变顺序可以使得两个字符串相等。输入样例:"abc" 为 "cba" 的置换。"abbc" 不是 "abcc" 的置换。 解决思路: 可通过排序来解 ...
分类:
其他好文 时间:
2017-06-10 23:34:55
阅读次数:
354
1、二分搜索的模板。 算法面试中,如果需要优化O(n)的时间复杂度,那么只能是O(logn)的二分法。 注意二分法大多数情况都是适用于排序数组。 http://www.lintcode.com/zh-cn/problem/first-position-of-target/ 模板有四点注意: 1)st ...
分类:
编程语言 时间:
2017-06-10 23:32:16
阅读次数:
275
题目描述: 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。 您在真实的面试中是否遇到过这个题? Yes 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ...
分类:
编程语言 时间:
2017-06-07 18:54:10
阅读次数:
259
题目描述: 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。 该数字按照大小进行排列,最大的数在列表的最前面。 您在真实的面试中是否遇到过这个题? Yes 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。 该数字按照大小进行排列,最大的数在列表的最前面 ...
分类:
编程语言 时间:
2017-06-07 14:34:57
阅读次数:
352
题目描述: 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。 你可以假设在数组中无重复元素。 您在真实的面试中是否遇到过这个题? Yes 样例 [1,3,5,6],5 → 2 [1,3,5,6],2 → 1 [1,3,5,6], 7 → 4 ...
分类:
编程语言 时间:
2017-06-07 14:32:27
阅读次数:
217
题目描述: 分割一个整数数组,使得奇数在前偶数在后。 您在真实的面试中是否遇到过这个题? Yes 分割一个整数数组,使得奇数在前偶数在后。 分割一个整数数组,使得奇数在前偶数在后。 您在真实的面试中是否遇到过这个题? Yes Yes Yes 样例 给定 [1, 2, 3, 4],返回 [1, 3, ...
分类:
编程语言 时间:
2017-06-07 14:29:12
阅读次数:
159
题目描述: 写一个算法来判断一个数是不是"快乐数"。 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。 您在真实的面试中是否遇到过这个题? Yes 写一个算 ...
分类:
编程语言 时间:
2017-06-07 14:27:26
阅读次数:
173
题目描述: 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 您在真实的面试中是否遇到过这个题? Yes 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左 ...
分类:
编程语言 时间:
2017-06-07 14:26:15
阅读次数:
187
题目描述: 写一个程序来检测一个整数是不是丑数。 丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。 注意事项 可以认为 1 是一个特殊的丑数。 您在真实的面试中是否遇到过这个题? Yes 写一个程序来检测一个整数是不是丑数。 ...
分类:
编程语言 时间:
2017-06-07 14:25:23
阅读次数:
175
题目描述: 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 您在真实的面试中是否遇到过这个题? Yes 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两 ...
分类:
编程语言 时间:
2017-06-07 14:14:21
阅读次数:
172