- 博客(25)
- 收藏
- 关注
原创 斐波纳契数列
查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...class Solution { /** * @param n: an integer *
2016-05-31 18:33:52 213
原创 A + B 问题
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。【位运算】class Solution { /* * param a: The first integer * param b: The second integer * return: The sum of a and b */ public int aplu
2016-05-31 18:32:46 326
原创 删除链表中的元素
删除链表中等于给定值val的所有节点。给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next
2016-05-31 18:29:53 195
原创 快乐数
写一个算法来判断一个数是不是"快乐数"。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。19 就是一个快乐数。1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 + 0^2 + 0
2016-05-31 18:28:35 361
原创 判断数独是否合法
请判定一个数独是否有效。 该数独可能只填充了部分数字,其中缺少的数字用 . 表示。样例下列就是一个合法数独的样例。class Solution { /** * @param board: the board @return: wether the Sudoku is valid */ public boo
2016-05-31 18:13:46 1435
原创 空格替换
设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。你的程序还需要返回被替换后的字符串的长度。对于字符串"Mr John Smith", 长度为 13替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。public clas
2016-05-31 18:13:00 169
原创 最长单词
样例在词典{ "dog", "google", "facebook", "internationalization", "blabla"}中, 最长的单词集合为 ["internationalization"]在词典{ "like", "love", "hate", "yes"}中,最长的单词集合为 ["like", "lov
2016-05-31 18:10:43 342
原创 岛屿的个数
给一个01矩阵,求不同的岛屿的个数。0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。样例在矩阵:[ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]]中有 3 个岛.【借鉴网上代码整理得】
2016-05-31 18:05:23 603
原创 二叉树的所有路径
样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode
2016-05-31 18:00:39 359
原创 等价二叉树
检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。样例 1 1 / \ / \ 2 2 and 2 2 / /4 4就是两棵等价的二叉树。 1 1 /
2016-05-31 17:57:59 198
原创 反转整数
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。给定 x = 123,返回 321给定 x = -123,返回 -321public class Solution { /** * @param n the integer to be reversed * @return the reversed int
2016-05-31 17:54:51 171
原创 最后一个单词的长度
给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。public class Solution { /** * @param s A string * @return the length of last word */ public int lengthOfLast
2016-05-31 17:51:47 143
原创 报数
报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数。如下所示:1, 11, 21, 1211, 111221, ...1 读作 "one 1" -> 11.11 读作 "two 1s" -> 21.21 读作 "one 2, then one 1" -> 1211.给定一个整数 n, 返回 第 n 个顺序给定 n = 5, 返
2016-05-31 17:25:47 544
原创 加一
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0].public class Solution { /** * @param digits a number
2016-05-31 17:23:00 190
原创 排列序号
给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号。其中,编号从1开始。例如,排列[1,2,4]是第1个排列,第二个[1,4,2],第六个为[4,2,1]public class Solution { /** * @param A an integer array * @return a long integer
2016-05-31 17:16:51 220
原创 余弦相似度
wiki链接: Cosine Similarity这里给出公式:给你两个相同大小的向量 A B,求出他们的余弦相似度返回 2.0000 如果余弦相似不合法 (比如 A = [0] B = [0]).样例给出 A = [1, 2, 3], B = [2, 3 ,4].返回 0.9926.给出 A = [0], B = [0].返回 2.
2016-05-31 16:59:17 341
原创 有效的括号序列
给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。public class Solution { /** * @param s A string * @
2016-05-31 16:42:25 307
原创 奇偶分割数组
分割一个整数数组,使得奇数在前偶数在后 给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。public class Solution { /** * @param nums: an array of integers * @return: nothing * "双指针概念 从两头开始" * 左边找到
2016-05-31 16:40:22 263
原创 合并区间
给出若干闭合区间,合并所有重叠的部分。样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18] ]]
2016-05-31 14:49:35 215
原创 将整数A转换为B
如果要将整数A转换为B,需要改变多少个bit位?【关于二进制还需要进一步学习 参考了别的方法 但理解并不透彻】样例如把31转换为14,需要改变2个bit位。(31)10=(11111)2(14)10=(01110)2class Solution { /** *@param a, b: Two integer *return: An in
2016-05-31 14:48:13 425
原创 判断字符串是否没有重复字符
实现一个算法确定字符串中的字符是否均唯一出现样例给出"abc",返回 true给出"aab",返回 falsepublic class Solution { /** * @param str: a string * @return: a boolean */ public boolean isUnique(String
2016-05-31 11:24:28 201
原创 删除排序数组中的重复数字 II
跟进“删除重复数字”:如果可以允许出现两次重复将如何处理?给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]。public class Solution { /** * @param A: a array of integers * @return : return an integer
2016-05-31 11:23:00 359
原创 删除排序数组中的重复数字
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。public class Solution { /** * @param A: a array of integers
2016-05-31 10:36:02 238
原创 翻转字符串
给定一个字符串,逐个翻转字符串中的每个单词。说明单词的构成:无空格字母构成一个单词输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个样例给出s = "the sky is blue",返回"blue is sky the"public class Solution {
2016-05-31 10:26:21 303
原创 尾部的零
描述:设计一个算法,计算出n阶乘中尾部零的个数最开始看到题目,没什么灵感。查了一些资料,记录如下:通过求能够被2整除和能够被5整除个数的最小值就是答案,或者直接求能够被5整除的个数就是答案(因为能够被5整除的个数明显比较小)原理是: 把1 × 2 ×3× 4 ×……×N中每一个因数分解质因数,结果为: 1 × 2 × 3 × (2 × 2) × 5 × (2 × 3) × 7 ×
2016-05-31 10:20:49 255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人