算法
叶飞航
研究方向:三维重建
展开
-
交叉字符串 Java实现
题目:给出三个字符串:s1、s2、s3,判断s3是否由s1和s2交叉构成。样例: s1 = “aabcc” s2 = “dbbca” - 当 s3 = “aadbbcbcac”,返回 true. - 当 s3 = “aadbbbaccc”, 返回 false.挑战:要求时间复杂度为O(n^2)或者更好思路:使用动态规划思想解决。 定义动态规划数组为dp[i][j], 其中s1取前i位原创 2017-05-25 15:09:58 · 543 阅读 · 0 评论 -
懂二进制 小米2016年校招 Java实现
世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?输入例子:1999 2299输出例子:7思路:(1)首先对两个数进行异或操作,就可以得到位数不同的序列值(2)统计序列值中1的个数代码实现: public int countBitDiff(int m, int n) { //异或原创 2017-07-05 15:27:50 · 398 阅读 · 0 评论 -
分金币问题---阿里巴巴2018年校招内推Java研发岗在线编程测验
分金币的问题思路 一:使用huffman树实现代码:import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Queue;//创建Huffman树的节点class Node原创 2017-08-03 10:00:48 · 572 阅读 · 0 评论