面试
文章平均质量分 69
Alf
这个作者很懒,什么都没留下…
展开
-
求一个数字用其相同数字重新组合后下一个大的数字
比如63543,这个数包含6,3,5,4,3,将这些数字重新组合以后,产生下一个较大的数字,那么就是64335。这个问题在career cup上看到的,网上没有解答。想了一个办法,应该是没问题的。其实题目的描述就已经给出了一个解法,就是穷举法。比如输入数字为n,将这个数字每个位上的数字求出来,存在一个数组里,然后产生它的所有排列。那么时间复杂度就是O(n!)。空间复杂度为O原创 2013-03-30 10:09:53 · 2322 阅读 · 0 评论 -
LeetCode: Distinct Subsequences(不同子序列的个数)
题目描述:Given a string S and a string T, count the number of distinct subsequences ofT inS.A subsequence of a string is a new string which is formed from the original string by deleting some (can b原创 2013-05-27 05:55:39 · 21694 阅读 · 4 评论 -
LeetCode: Sudoku Solver (数独求解)
采用backtracking求解:首先找到一个需要求解的位置,对这个位置尝试求解,如果求解成功则返回,否则恢复这个位置之前的状态,退回一部,尝试其他数字。递归地调用这个过程进行求解。Java Code:public class Solution { public void solveSudoku(char[][] board) { // Start typing your原创 2013-04-23 04:46:14 · 1918 阅读 · 0 评论 -
Boggle单词游戏求解
基本思路就是对棋盘的深度优先搜索,并且根据单词表的前缀剪枝。即如果某个前缀在单词表中不存在,则此停止搜索。求解时间在1.5s左右。单词表来自:http://www.freebsd.org/cgi/cvsweb.cgi/src/share/dict/web2?rev=1.12;content-type=text%2Fplain单词索引利用Trie实现。Boggle主程序:原创 2013-04-08 08:54:25 · 2205 阅读 · 0 评论 -
LeetCode: Scramble String
题目描述:Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.Below is one possible representation of s1 = "great": great / \原创 2013-05-22 07:34:15 · 1620 阅读 · 0 评论 -
LeetCode: Largest Rectangle in Histogram(直方图最大面积)
具体的题目描述为:Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.Above is a histogram wher原创 2013-05-18 13:09:49 · 13438 阅读 · 3 评论 -
LeetCode: Wildcard Matching (通配符匹配)
Implement wildcard pattern matching with support for'?' and '*'.'?' Matches any single character.'*' Matches any sequence of characters (including the empty sequence).The matching should cover原创 2013-04-30 06:00:50 · 1736 阅读 · 0 评论 -
LeetCode: Longest Valid Parentheses (求最长有效匹配括号子串的长度)
题目描述:Given a string containing just the characters'(' and')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is"()",原创 2013-04-20 02:29:04 · 6833 阅读 · 0 评论 -
求在m*n矩阵当中,从左上角出发到右下角有多少种方法
比如一个2*3的矩阵,1 2 34 5 6从1出发走到6,则可能的走法为:1 2 3 6, 1 2 5 6, 1 4 5 6共有三种。这道题可以看成是深度优先遍历一颗树。解法为:public class MatrixTraversal { public static int getTraversal(int p, int q) { int n原创 2013-03-30 10:21:16 · 5051 阅读 · 0 评论 -
Trie树的简单实现(Java版本)
Trie树的用途很多,可以实现根据前缀补全等功能。在一个国外的博客上看到这个Java实现,比较简洁,个人修改了一下,增加了根据前缀删除和遍历的功能。Trie树节点类定义:import java.util.*;/** * A Trie Node */class TrieNode { /** * The key stored in this原创 2013-03-30 12:06:31 · 1086 阅读 · 0 评论 -
LeetCode: Pascal's Triangle II (返回杨辉三角形第i行)
杨辉三角形大家应该不陌生,其第i行恰好为 (a + b)i 的展开系数。比如上一道题的例子:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]这道题要求直接返回第i行。题目描述为:Given an index k, return the kth row of the Pascal's triang原创 2013-05-28 05:49:47 · 8049 阅读 · 0 评论