算法题
qq_42217486
这个作者很懒,什么都没留下…
展开
-
回文子串[输出所有回文子串]
回文子串[输出所有回文子串]回文子串总时间限制:1000ms 内存限制:65536kB描述给定一个字符串,输出所有长度至少为2的回文子串。回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。输入一个字符串,由字母或数字组成。长度500以内。输出输出所有的回文子串,每个子串一行。子串长度小的优先输出,若长度相等,则出现位...原创 2019-01-17 18:12:06 · 1946 阅读 · 0 评论 -
统计英文文件中单词出现的次数,按照出现次数降序输出(前10)
代码如下import java.io.File;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util...原创 2019-01-17 22:28:14 · 2123 阅读 · 0 评论 -
冒泡排序
public void bubbleSort(int a[], int n) { int temp; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (a[j] > a[j + 1]) { temp = a[j]; ...原创 2019-03-05 16:59:45 · 95 阅读 · 0 评论 -
插入排序
插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。具体算法描述如下:1、从第一个元素开始,该元素可以认为已经被排序2、取出下一个元素,在已经排序的元素序列中从后向前扫描3、如果该元素(已排序)大于新元素,将该元素移到下一位置4、重复步骤3,直到找到已排序的元素小于或者等...原创 2019-03-05 17:28:08 · 93 阅读 · 0 评论 -
单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频...原创 2019-03-05 21:27:32 · 103 阅读 · 0 评论 -
判断一个字符串是否是Ip地址
public class IsIP { /** * 判断一个字符串是否是一个合法的ip地址: * 1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位 * 2 尝试按.符号进行拆分 拆分结果应该是4段 * 3 查看拆分到的每一个子字符串,应该都是纯数字 * 4 对拆分结果转成整数 判断 应该是0到255之间的整数 5 ...原创 2019-03-20 11:40:46 · 1776 阅读 · 0 评论 -
合并两个有序数组成一个有序数组
题目:有两个数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。有两种实现思路:定义一个新数组,长度为两个数组长度之和,将两个数组都copy到新数组,然后排序。给两个数组分别定义一个下标,最大长度是数组长度减一,按位循环比较两个数组,较小元素的放入新数组,下标加一(注意,较大元素对应的下标不加一),直到某一个下标超过数组长度时退出循环,此时较短数组已经全部放入新数组,...原创 2019-03-13 12:22:31 · 764 阅读 · 0 评论 -
java将一数组乱序排列
JAVA的Collections类中shuffle方法模拟了“洗牌”动作可以对list列表进行随机排序。如果一定要自己写,算法也很简单:假设数组array长度为n。用标准随机函数rand(n)生成[0, n-1]之间的一个随机数,将array[n-1]和array[rand(n)]交换,这样就把array[n-1]位置上的数确定了;再将array[n-2]和array[rand(n-1)]...转载 2019-03-13 12:41:16 · 1278 阅读 · 0 评论