算法
文章平均质量分 66
SmallCSer
这个作者很懒,什么都没留下…
展开
-
微软2014实习生及秋令营技术类职位在线测试-题目2 : K-th string
时间限制:10000ms单点时限:1000ms内存限制:256MBDescriptionConsider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. Write a p原创 2014-04-12 21:17:19 · 1318 阅读 · 0 评论 -
折半查找算法
折半查找算法是一种常见的查找算法,适用于带查找序列有序的情况,空间复杂度O(1),时间复杂度O(log(n))。算法实现常见非递归和递归两种,非递归使用循环控制while(startend)public class BinarySearch { /** * 折半查找非递归算法 * * @param a * 带查找数组 * @param k原创 2017-10-17 21:18:20 · 795 阅读 · 0 评论 -
Leetcode 208. Implement Trie (Prefix Tree)
Question:Implement a trie with insert, search, and startsWith methods.Note:You may assume that all inputs are consist of lowercase letters a-z. Answer:原创 2016-07-11 18:55:41 · 312 阅读 · 0 评论 -
Leetcode 79. Word Search
Question:Given a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or v原创 2016-07-11 16:05:12 · 281 阅读 · 0 评论 -
最长回文(manacher)串
最长回文Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5327 Accepted Submission(s): 1817Problem Description给出一个只由小写英文字符a,b,c...y,z组成转载 2014-09-14 10:37:01 · 547 阅读 · 0 评论 -
算法设计关于递归方程T(n)=aT(n/b)+f(n)之通用解法
在算法设计中经常需要通过递归方程估计算法的时间复杂度T(n),本文针对形如T(n)=aT(n/b)+f(n)的递归方程进行讨论,以期望找出通用的递归方程的求解方式。算法设计教材中给出的Master定理可以解决该类方程的绝大多数情况,根据Master定理:o-渐进上界、w-渐进下界、O-渐进确界。设a≥1,b>1为常数,f(n)为函数,T(n)=aT(n/b)+f(n)为非负数,令x=log转载 2014-10-08 10:57:13 · 16956 阅读 · 0 评论 -
LeeCode-Reverse Words in a String
要求:Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".click to show clarification.Clarification:What constitute原创 2014-09-16 21:22:51 · 501 阅读 · 0 评论 -
Leecode-Linked List Cycle
package Leecode;import java.util.HashSet;import java.util.Set; class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } }原创 2014-09-16 16:53:51 · 480 阅读 · 0 评论 -
字符串反转
1、第一类的字符串反转问题,也就是输入This is a string.,输出为.gnirts a si sihT:2、原创 2014-09-14 12:57:56 · 463 阅读 · 0 评论 -
数组中求第K大数
问题:有一个大小为n的数组A[0,1,2,…,n-1],求其中第k大的数。该问题是一个经典的问题,在《算法导论》中被作为单独的一节提出,而且其解决方法很好的利用了分治的思想,将时间复杂度控制在了O(n),这多少出乎我们的意料,此处暂且不表。该问题还可以变形为:有一个大小为 n的数组A[0,1,2,…,n-1],求其中前k大的数。一字之差,原问题是“第k大”,变形的问题是“前转载 2014-09-14 10:55:06 · 459 阅读 · 0 评论 -
动态规划解决01背包问题
问题描述:给定N中物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得转入背包的物品的总价值为最大??在选择物品的时候,对每种物品i只有两种选择,即装入背包或不装入背包。不能讲物品i装入多次,也不能只装入物品的一部分。因此,该问题被称为0-1背包问题。 问题分析:令V(i,j)表示在前i(1(1) V(i,0)=V(0,j转载 2014-05-29 22:48:16 · 1265 阅读 · 0 评论 -
编程之美热身赛 题目1 : 传话游戏
时间限制:2000ms单点时限:1000ms内存限制:256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两原创 2014-04-12 21:33:44 · 695 阅读 · 0 评论 -
微软编程一小时题目1 : Arithmetic Expression
时间限制:2000ms单点时限:200ms内存限制:256MB描述Given N arithmetic expressions, can you tell whose result is closest to 9?输入Line 1: N (1 Line 2..N+1: Each line contains an expression原创 2014-04-12 21:25:51 · 949 阅读 · 0 评论 -
微软2014实习生及秋令营技术类职位在线测试-题目1 : String reorder
package StringReorder;import java.io.BufferedInputStream;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main { public static void原创 2014-04-12 21:18:44 · 1205 阅读 · 0 评论 -
编程之美热身赛 题目3 : 树上的三角形
题目3 : 树上的三角形时间限制:4000ms单点时限:2000ms内存限制:256MB描述有一棵树,树上有只毛毛虫。它在这棵树上生活了很久,对它的构造了如指掌。所以它在树上从来都是走最短路,不会绕路。它还还特别喜欢三角形,所以当它在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三原创 2014-04-12 21:36:04 · 600 阅读 · 0 评论 -
阿里巴巴算法、数据工程师笔试题选解
1、有三个结点的,可以构成多少个种叉树? 2、一副牌52张(去掉大小王),从中抽取两张牌,一红一黑的概率是多少? 编程题: 3、设计一个最优算法来查找一n个元素数组中的最大值和最小值。已知一种需要比较2n次的方法,请给一个更优的算法。情特别注意优化时间复杂度的常数。 4、已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,是的组成的三元组距离最小转载 2014-03-29 16:14:05 · 678 阅读 · 0 评论 -
排序算法
public class Sort { /** * 1 冒泡排序(交换排序) 稳定 时间复杂度o(n^2),空间复杂度O(1) * * @param a * 待排序数组 */ public void bubbleSort(int a[]) { for (int i = 0; i < a.length; i++) for (int j =原创 2017-10-18 21:59:41 · 321 阅读 · 0 评论