现在位置: 首页 > 算法 > 文章
2020年02月11日 算法 ⁄ 共 2021字 评论关闭
  题目:给定两个数组,编写一个函数来计算它们的交集。   示例 1:   输入: nums1 = [1,2,2,1],nums2 = [2,2]   输出: [2]   示例 2:   输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]   输出: [9,4]   说明:   输出结果中的每个元素一定是唯一的。   我们可以不考虑输出结果的顺序。   解法一:迭代一个数组   思路分析:   迭代一个数组,判断是否存在另外一个数组   PHP 代码实现:   /**  ...
阅读全文
2020年02月10日 算法 ⁄ 共 1046字 评论关闭
  冒泡排序算法思想:   让数组中的两个相邻数字进行比较,数组中较大的值向下沉,值小的上浮,就类似于水中的气泡,较大的下沉,较小的上升,慢慢冒出来。简单的说就是数值大的会慢慢往前排,数据值小的会慢慢向后排,最终实现由小到达排列,最小的排在最前,最大的排到最后。   冒泡排序算法JAVA实现代码   import com.jiajia.ArrayUtil.*; // 按包名导入   public class BubbleSortMain {   public static void ...
阅读全文
2020年02月10日 算法 ⁄ 共 885字 评论关闭
  程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。但是如果没终止条件会造成死循环,所以递归代码里要有结束自调自的条件。接下来通过一个案例来学习如何使用递归算法计算自然数之和,如例Example1.java。   Example1.java实例   public class Example1 {   public static void main(String[] args) {   int sum=getsum(4); //调用递归方法,获得1~4的和   System.out.pri...
阅读全文
2020年02月10日 算法 ⁄ 共 2172字 评论关闭
  Java中switch条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某表达式的值做出判断,从而决定程序执行哪一段代码。例如,在程序中使用数字1~7表示星期一到星期日,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述。   用于表示星期的数字:   如果等于1,则输出星期一   如果等于2,则输出星期二   如果等于3,则输出星期三   如果等于4,则输出星期四  ...
阅读全文
2020年02月10日 算法 ⁄ 共 735字 评论关闭
  JavaScript变量命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。   下列都是非常正确的变量命名:   var haha = 250;   var xixi = 300;   var a1 = 400;   var a2 = 400;   var abc_123 = 400;   var $abc = 999;   var $o0_0o$ = 888;   var $ = 1000;   var _ = 2000;   var ________ = 3000;   下列都是错误的命名:   var a-1 = 10...
阅读全文
2020年02月07日 算法 ⁄ 共 11471字 评论关闭
  当 Java SE 8(又名核心 Java 8)在 2014 年被推出时,它引入了一些更改,从根本上影响了用它进行的编程。这些更改中有两个紧密相连的部分:流 API 和函数式编程构造。本文使用代码示例,从基础到高级特性,介绍每个部分并说明它们之间的相互作用。   基础特性   流 API 是在数据序列中迭代元素的简洁而高级的方法。包 java.util.stream 和 java.util.function 包含了用于流 API 和相关函数式编程构造的新库。当然,代码...
阅读全文
2020年02月06日 算法 ⁄ 共 1610字 评论关闭
  与栈一样,队列(Queue)也是一种数据结构,它包含一系列元素。但是,队列访问元素的顺序不是后进先出(LIFO),而是先进先出(FIFO)。队列中元素的处理就像是站在商店收款台前排队等待的顾客:排在最前面的顾客最先结账。   队列数据结构常用于计算机操作系统。它们在多用户/多任务环境中尤为重要,在这种环境中,多个用户或任务可能同时请求同一资源。例如,打印由队列控制,因为一次只能打印一个文档。队列用于保存由系统用...
阅读全文
2020年02月06日 算法 ⁄ 共 2521字 评论关闭
  所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。   为了更形象的认识序列,可以将它看做是一家旅店,那么店中的每个房间就如同序列存储数据的一个个内存空间,每个房间所特有的房间号就相当于索引值。也就是说,通过房间号(索引)我们可以找到这家旅店(序列)中的每个房间(内存空间)。   在 Python 中,序列类型包括字符串、列表、元组、集合和...
阅读全文
2020年02月06日 算法 ⁄ 共 1288字 评论关闭
  介绍了很多排序算法,插入排序、选择排序、归并排序等等,这些算法都属于内部排序算法,即排序的整个过程只是在内存中完成。而当待排序的文件比内存的可使用容量还大时,文件无法一次性放到内存中进行排序,需要借助于外部存储器(例如硬盘、U盘、光盘),这时就需要用到本章介绍的外部排序算法来解决。   外部排序算法由两个阶段构成:   按照内存大小,将大文件分成若干长度为 l 的子文件(l 应小于内存的可使用容量),...
阅读全文
2020年02月06日 算法 ⁄ 共 2289字 评论关闭
  关于字符串匹配算法有很多,之前我有讲过一篇 KMP 匹配算法:图解字符串匹配 KMP 算法,不懂 kmp 的建议看下,写的还不错,这个算法虽然很牛逼,但在实际中用的并不是特别多。至于选择哪一种字符串匹配算法,在不同的场景有不同的选择。   采用的就是 Boyer-Moore 匹配算法了,简称BM算法。这个算法也是有一定的难度,不过今天,我选用一个例子,带大家读懂这个字符串匹配 BM 算法,看完这篇文章,保证你能够掌握这个算法...
阅读全文