算法
SmellyKitty
这个作者很懒,什么都没留下…
展开
-
【算法】多叉树寻找A\B节点的分支点
小米笔试中的一道题,题意是,多叉树,0为根节点,给定矩阵m, m[i][j]==1表示两点连接,给出A,B两个节点,寻找他们的最近分支节点。 如题: "001001"; "001100"; "110010"; "010000"; "001000"; "100000"; 0 / \ 2 5原创 2015-04-25 11:24:11 · 1002 阅读 · 0 评论 -
java 实现atof函数
atof函数将字符串转换为浮点数,此函数规则如下: 它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。 【返回值】返回转换后的浮点数原创 2015-08-25 14:37:20 · 2269 阅读 · 0 评论 -
【java】查找树按序转双向链表
1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16 解答:中序遍历,转为双向链表public ListNode linkList(BSTreeNode原创 2015-09-15 17:48:35 · 441 阅读 · 0 评论 -
【算法】16个无序数最多20次比较找到第二大的数
这个题是刚刚在微博上看到的,第一想法就想到了leetcode上关于注水的题,Trapping Rain Water,当时的解法是这样的:通过求第二大的数,来解决注水问题class Solution {public: int trap(int A[], int n) { int left = 0; int right = n-1; int tr原创 2015-04-24 16:33:12 · 1181 阅读 · 0 评论 -
【java】0到n中生成m个等概率随机数
前言: java中Random类中的nextInt(n)可以等概率生成[0, n)间的随机整数。 下面用Random来实现此算法: 1、思想:给定一个HashSet集合,大小为m,不重复,用nextInt(n)方法产生[0, n)间的随机整数,如果出现重复,则HashSet不会添加。//给定n和m ,从n中产生m个随机数,概率相同,有序 public HashSet<Integer>原创 2015-09-14 15:02:20 · 2697 阅读 · 0 评论