算法
黑椒马子
这个作者很懒,什么都没留下…
展开
-
Longest Substring Without Repeating Characters (最长不重复字符的子序列) Java-O(n)解法
先把原题目po出来以示敬意 https://leetcode.com/problems/longest-substring-without-repeating-characters/ 题目:给一个字符串,找出其中最长的子串,并且该自串没有重复字符由于我是算法的新手小白,总是用比较暴力的方法来解决问题,导致做了很多多余的步骤,下面给出我的超时的解法:private class node原创 2015-03-25 23:05:07 · 413 阅读 · 0 评论 -
Numbers of "1" bits 算法解析
首先出题目的位置表达敬意,呵呵呵 https://leetcode.com/problems/number-of-1-bits/ Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).原创 2015-03-26 07:49:26 · 351 阅读 · 0 评论 -
Factorial Trailing Zeroes 算法解析
https://leetcode.com/problems/factorial-trailing-zeroes/public class Solution { public int trailingZeroes(int n) { int result = 0; while(n!=0){ n/=5; result原创 2015-03-26 23:54:03 · 368 阅读 · 0 评论 -
排列组合数C(m,n)的O(n)算法
刚开始,想用它的定义来做 C(m,n) = m!/(m-n!*n!)但是发现如果用int的话,阶乘的运算到13就爆int了,所以算这个不要写一个阶乘函数然后让他们运算,而是应该先化简后再来计算。 化简之后我发现其实算C(m,n)只要计算min(n,m-n)次就可以了 代码如下private static int c(int m,int n){//temp 为答案原创 2015-03-30 11:29:29 · 6663 阅读 · 1 评论 -
快速幂 -- 算法详解
作为一名程序员,如果写幂运算还一个一乘就太low了,这样的算法的效率是o(n),我们有快速幂的算法,算法效率是o(logn),基本思想是如下: 任意整数可以被写成2进制的数,比如63 = 0x111111 所以当我们算2^63的时候可以写成: 2^63 = 2^1 + 2^2 + 2^4 +2^8 +….+2^32 这样,我们只需要5次就能把答案算出来以下是快速幂的模板lo原创 2015-04-17 15:44:01 · 489 阅读 · 0 评论 -
Javascript 编程细节 -- NaN, null, undefined坑
—本文仅作个人学习记录—来自牛客网的一道题目: 为Array添加unique函数 要求 [null,undefined,NaN,’a’,1,true,false]都可以过滤原创 2015-10-12 12:03:53 · 354 阅读 · 0 评论