相关推荐
-
十分钟了解算法(3)——有趣的算法
一:KNN算法 (一)概念 K最近邻,就是k个最近的邻居的意思,每个样本都可以用它最接近的k个邻居来代表。 (二)特点 如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。 (三)使用 1. 特征抽取 挑选合适的特征 确定样本的特征值,建立n维坐标轴 标出每个样本的点,并使用毕达哥拉斯公式计算两点间的距离,这表示两个样本的相似程...
-
分享几道有趣的算法题
LeetCode 54. 螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例1 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例2 输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12] ] 输出: [1,2,3,4,8,12,11,10,9,5,6,7] 个人解法 LeetCode
-
有哪些算法惊艳到了你?
举个例子,你有一堆人名,想快速查找到“老韩”,你可以用哈希算法把每个人名转成一个数字,比如“老韩”映射到123,然后把数据存储在编号123的位置。惊艳的是,它不是硬算所有可能性,而是用“贪心”的思路,逐步缩小范围,效率非常高。动态规划(Dynamic Programming,简称DP)这个名字,听起来就很高端,但它的核心思想其实很朴素:“把复杂问题拆解成简单问题,用之前的结果解决后续的问题。哈希算法的核心逻辑是:通过一个函数,把数据映射到一个固定范围内的值上,存储起来,查找的时候直接用这个值定位到目标。
-
一些简单却精妙的算法
在编程的世界里,简洁的代码往往隐藏着深邃的智慧。一起来看看那些看似简单,实则精妙绝伦的代码片段,体会编程语言的优雅与力量。
-
有趣的算法
算法------穷举法 迭代法 分治、动态规划、贪婪、回溯和分支界定 首先,拿出一个很经典的例子: 一个典型的最优化问题就是背包问题。 背包问题:有一个背包,背包容量是M=150kg。有7个物品,物品不可以分割成任意大小。 要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。 物品 A B C D E F G 重量 35 30 60 50 4...
-
三道有趣的算法题
三道有趣的算法题 1.不用加减乘除做加法 2.数组中出现次数超过一半的数字 3.求1~100的和(不能用循环,不能用if,不能用公式)
-
有趣的算法(四)最通俗易懂的KMP算法解析
Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。
-
真正统治世界的十大算法
本文由 伯乐在线 - Justin Wu 翻译自 Marcos Otero。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。 不久前的某一天,我在浏览Reddit发现了一篇有趣的文章《统治世界的十大算法》,作者George Dvorsky在那篇文章中试图解释算法之于当今世界的重要性,以及哪些算法对人类文明最为重要。 此时此刻,如果你已经学过算法的话,那么在你阅读那篇文章时
-
算法细节系列(32):有趣的数学
算法细节系列(32):有趣的数学 详细代码可以fork下Github上leetcode项目,不定期更新。 题目摘自leetcode: Leetcode 335. Self Crossing Leetcode 273. Integer to English Words Leetcode 166. Fraction to Recurring Decimal Leetcode 149. Max Poi
-
学习算法时老师讲的有趣的数学小段子
皇帝不是穷人,在守财奴之中也有穷人,所以,有一些______并不是_______。 A. 皇帝 皇帝 B. 守财奴 守财奴 C. 守财奴 皇帝 D. 皇帝 守财奴 运用数学: 得出: 所以答案选C,不知道你选对了没有。 ...
-
当今世界十大经典算法
当今世界,已经被发现或创造的经典算法数不胜数。如果,一定要投票选出你最看重的十大算法,你会作何选择列?有国外网友在StackExchange上发起过投票,让人们投票选出心目中最为经典的算法,最终产生了下面得票数最高的十大经典算法(投票数统计截止到2011年3月7日): 第十名:Huffman coding(霍夫曼编码) 霍夫曼编码(Huffman Coding)是一种编码方式,是一种用
-
算法之经典算法思想
递归 分治法 动态规划 参考: https://blog.csdn.net/lz161530245/article/details/76943991 https://blog.csdn.net/hrn1216/article/details/51534607 重点参考文章。 https://www.zhihu.com/question/23995189 知乎好的解释 动态规...
-
几个简单有趣的算法
闲来无事总结3个我认为比较好的算法,很简单,但有趣。我们应该学会欣赏简单的东西,拒绝钻进复杂的东西里面,比如股市... 这三个算法分别为大数乘法,求交集算法,将一个数拆成连续整数和算法以及8位倒置算法。这些算法都非出自本人,但是本人实现了一个。 1.大数乘法:这个算法很著名,它可以突破计算机的限制从而计算一些很大的数,它的效率是重要的,但本文仅仅从逻辑角度来分析,先...
-
一个有意思的算法
这个算法大概是这样的 1若是大于等于3个连续的日期,则“【开始天】至【结束天】”,如“周一至周三” 周一、周日不算连续 2若小于3个连续的日期,或者日期是间断的,则将所有天通过分隔符“、”按顺序拼接,如“周一、周三、周四”,“周二、周三”,“周一、周六、周日”但是返回的是一个数组,如1101110 就要显示 周一二 周四-周六自己写了一个算法如下 //week @[@(YES),@(NO),
-
算法之算法分析
算法分析 在很多情况下,描述一个算法的运行时间是有用的,为此,需要定义一套统一的算法渐进记号来合适的描述算法的运行效率。然后我们通过各种方法对不同的算法运行效率进行分析。 算法时间复杂度记号 ΘΘ\Theta 渐进紧确界 定义一:设f(n)f(n)f(n)和g(n)g(n)g(n)是定义域为自然数集合的函数。如果limn→∞f(n)g(n)limn→∞f(n)g(n)\l...
-
简单好玩的算法
求最大公约数的辗转相除法 public static long gcd(long a,long b){ long max=a>b?a:b; long min=a>b?b:a; if(max%min==0) return min; return gcd(min,max%min); }利用的定理是: 设f(a,b)为a和b的
-
有趣的数学(一)
如何计算n个m相加,或n个m相乘? 这是一个非常简单的问题,一个循环就可以实现,或者利用某些语言自带的数学类函数也可以完成。 这里介绍一个有趣的算法: 利用递归,可以完成n个m相乘,并且如果把 return 1改为return 0,且把*改为+,既可以完成n个m相加的计算。那么这个方法的原理是什么呢? 我思考的是这样的,这个算法的本质是求出n个二进制表示,把二进制为1的位代表的整数,进行
-
一些有意思的算法代码
http://coolshell.cn/articles/6010.html 一些有意思的算法代码 2011年11月29日陈皓发表评论阅读评论1,483 人阅读 Keith Schwarz是一个斯坦福大学计算机科学系的讲师。他对编程充满了热情。他的主页上他自己正在实现各种各样的有意思的算法和数据结构,http://www.keithschwarz.
-
一些有趣的算法
本文专门记录一些有趣的算法。计算二进制数中1的个数这道题目的一个解决方案是通过%2来计算,这个比较简单。现在推荐一个快速算法,利用n=n&(n-1);来计算,可以这么解释这个运算的作用:一个数减1以后与自身相与,就消去了最低位的1。对于一个数而言,最后一位如果是1,减1之后前面的位并不受影响,该位的1已经被纳入统计;而如果是0,减1之后该位为1,1&0=0,该位并不受影响,但这带动了前面减1的过程,
6 楼 Zhongwei_leg 2010-08-19 11:23
5 楼 studyjava07 2010-08-19 09:41
10.4已经升级很多程序和补丁,新版本一定会增加新的功能。只是这种功能的多与少
期待加入更多来自未来的科技...
4 楼 bleach_hb 2010-08-19 09:25
3 楼 kidd3166 2010-08-19 08:44
2 楼 yhailj 2010-08-18 23:22
上个月才下的 10.04
1 楼 nj_first 2010-08-18 11:41