南墙
主要转载 南墙博主的文章
weixin_45176257
这个作者很懒,什么都没留下…
展开
-
Java实现字母去重
描述给定一个字符串S,每次操作你可以将其中任意一个字符修改成其他任意字符。请你计算最少需要多少次操作,才能使得S中不存在两个相邻的相同字符。输入只包含小写字母的字符串S。1 ≤ |S| ≤ 100000输出一个整数代表答案package Xueying_Liu;import java.util.Scanner;public class zifuchuan { public static void main(String[] args) { Scanner sc转载 2020-05-23 20:58:41 · 7343 阅读 · 0 评论 -
Java中StringBuffer类的常用方法
StringBuffer:StringBuffer类型描述:在实际应用中,经常回遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。1、构造函数。StringBuffer() :构造一个没有任何字符的StringBuffer类。StringBuffer(int length) ::构造一个没有任何字符的StringBuffer类,并且,其长度为length。StringBuffer(String str) :以st转载 2020-05-23 20:54:32 · 7605 阅读 · 0 评论 -
Java实现 稀疏矩阵乘积
稀疏矩阵乘积描述给定两个N × N的稀疏矩阵A和B,其中矩阵A有P个元素非0,矩阵B有Q个元素非0。请计算两个矩阵的乘积C = A × B并且输出C中所有非0的元素。输入第一行包含三个整数N, P, Q以下P行每行三个整数i, j, k表示A矩阵的一个非0元素:Aij = k以下Q行每行三个整数i, j, k表示B矩阵的一个非0元素:Bij = k对于80%的数据,1 ≤ N, P, Q ≤ 200对于100%的数据, 1 ≤ N, P, Q ≤ 2000, 1 ≤ i, j ≤ N, 0原创 2020-05-23 17:33:24 · 7374 阅读 · 0 评论 -
Java实现 谁不爱打牌
谁不爱打牌【问题描述】BobLee最近在复习考研,但是他也喜欢打牌(有谁不爱玩牌呢?)。但是作为一名ACMER,斗地主显然满足不了他的兴趣,于是他和YYD一起YY出来了一个游戏规则,规则如下。1、 总共n张牌;2、 双方轮流抓牌;3、 每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)4、 抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;BobLee和YYD都是很聪明的人,现在告诉你牌数,请你告诉我谁会赢呢?BobLee先拿。【输入】输入为多行数据,每行是牌数n(1<=转载 2020-05-23 17:32:24 · 7348 阅读 · 0 评论 -
一步之遥
一步之遥从昏迷中醒来,小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃的轨道上。他的面前是两个按钮,分别写着“F”和“B”。小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退。按F,会前进97米。按B会后退127米。透过昏暗的灯光,小明看到自己前方1米远正好有个监控探头。他必须设法使得矿车正好停在摄像头的下方,才有机会争取同伴的援助。或许,通过多次操作F和B可以办到。矿车上的动力已经不太足,黄色的警示灯在默默闪烁…每次进行 F 或 B 操作都会消耗一定的能量。小明飞快地计算转载 2020-05-23 17:31:28 · 7312 阅读 · 0 评论 -
java图书排列
标题:图书排列将编号为1~10的10本书排放在书架上,要求编号相邻的书不能放在相邻的位置。请计算一共有多少种不同的排列方案。注意,需要提交的是一个整数,不要填写任何多余的内容。9 910 99 99 99 107 79 7package 第三次模拟;public class Demo3图书排列 { static int res=0; public static boolean check(int a[]) { int l=a.lengt原创 2020-05-23 17:29:59 · 7449 阅读 · 0 评论 -
Java实现Fibonacci取余
DescriptionFibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。Input多组测试数据输入包含一个整数n。1 <= n <= 1,000,000。Output每组输出一行,包含一个整数,表示Fn除以10007的余数。Sample Input1022Sample Output557704package 第八次模拟;import java.util.Sc转载 2020-05-23 17:29:02 · 7338 阅读 · 0 评论 -
Java打印图形
标题:打印图形如下的程序会在控制台绘制分形图(就是整体与局部自相似的图形)。当n=1,2,3的时候,输出如下:请仔细分析程序,并填写划线部分缺少的代码。n=1时:ooooon=2时:oooooo o ooooooooooo o oooooon=3时:oooooo o ooooooooooo o ooooooo o oooo ooo oooo o oo o o o o o o o ooooooooooooooooooooooooooooo o原创 2020-05-23 17:28:04 · 7568 阅读 · 0 评论 -
试题 算法提高 哥德巴赫猜想
试题 算法提高 哥德巴赫猜想资源限制时间限制:1.0s 内存限制:256.0MB问题描述 根据所给函数(判断一个整数是否是素数),然后依托该函数,将输入N内的偶数(6-N),输出为两个素数之和(要求为可行的第一种分解),并各自验证哥德巴赫猜想:任何一个大于等于6的偶数(验证6到0x7FFFFF之间的偶数即可)都可以表示成两个素数之和,注意,此处不要求验证哥德巴赫猜想。输入格式 测试数据的输入一定会满足的格式。 7输出格式 要求用户的输出满足的格式。 6=3+3样例输入一个满转载 2020-05-23 17:26:54 · 7432 阅读 · 0 评论 -
Java模拟递增三元组
问题描述 在数列 a[1], a[2], …, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。 给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。输出格转载 2020-05-23 17:25:23 · 7818 阅读 · 0 评论 -
Java实现桐桐的数学难题
桐桐的数学难题题目描述 今天数学课上,桐桐学习了质数的知识:一个正整数如果只能被1和它本身整除,那么这个整数便是质数。桐桐就想:任意一个正整数是否都能分解成若干个质数相乘的形式呢?输入一个正整数n(2≤n≤109),把它分解成质因子相乘的形式,如果为质数则输出该数本身。如:36=2×2×3×3;19=19。你能帮助桐桐解决这个难题吗?输入输入一个正整数n(2≤n≤109)输出把它分解成质因子相乘的形式,如果为质数则输出该数本身,乘数从小到大输出。样例输入99样例输出99=3311im转载 2020-05-23 17:24:04 · 7717 阅读 · 0 评论 -
Java实现派(Pie, NWERC 2006, LA 3635)
题目有F+1个人来分N个圆形派,每个人得到的必须是一整块派,而不是几块拼在一起,且面积要相同。求每个人最多能得到多大面积的派(不必是圆形)。输入的第一行为数据组数T。每组数据的第一行为两个整数N和F ( 1 ≤ N , F ≤ 10 000 ) ;第二行为 N 个整数 ri(1≤ri≤10 000),即各个派的半径。对于每组数据,输出每人得到的派的面积的最大值,精确到10-3。import java.util.Scanner;public class 派 { public static int转载 2020-05-23 17:22:37 · 7432 阅读 · 0 评论 -
Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
小明用积木搭了一个城堡。 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格。 当然,小明的城堡并不是平面的,而是立体的。小明可以将积木垒在别的积木上面。当一个方格上的积木垒得比较高时,就是一个高塔,当一个方格上没有积木时,就是一块平地。 小明的城堡可以用每个方格上垒的积木层数来表示。例如,下面就表示一个城堡。 9 3 3 1 3 3 3 0 0 0 0 0 这个城堡南面和东面都有空地,西北面有一个大房子转载 2020-05-20 09:34:03 · 10077 阅读 · 0 评论 -
Java实现DFS深度优先查找
问题描述深度优先查找(depth-first search,DFS)可以从任意顶点开始访问图的顶点,然后把该顶点标记为已访问。在每次迭代的时候,该算法紧接着处理与当前顶点邻接的未访问顶点。这个过程一直持续,直到遇到一个终点——该顶点的所有邻接顶点都已被访问过。在该终点上,该算法沿着来路后退一条边,并试着继续从那里访问未访问的顶点。再后退到起始顶点上,并且起始顶点也是一个终点时,该算法最终停了下来。这样,起始顶点所在的连通分量的所有顶点都被访问过了。如果,未访问过的顶点仍然存在,该算法必须从其中任一点开始,转载 2020-05-20 09:32:00 · 10226 阅读 · 0 评论 -
Java实现BFS广度优先查找
问题描述广度优先查找(Breadth-first Search,BFS)按照一种同心圆的方式,首先访问所有和初始顶点邻接的顶点,然后是离它两条边的所有未访问顶点,以此类推,直到所有与初始顶点同在一个连通分量中的顶点都被访问过了为止。如果仍然存在未被访问的顶点,该算法必须从图的其他连接分量中的任意顶点重新开始。package com.liuzhen.chapterThree;public class BreadthFirstSearch { public int count = 0;转载 2020-05-20 09:28:46 · 10147 阅读 · 0 评论 -
Java实现二分查找(折半查找)
递归法package com.liuzhen.chapter4;public class BinarySearch { //方法1:递归求解 public void recursionSearch(int[] A,int start,int end,int number){ int mid = (start + end)/2; if(A[mid] == number) System.out.println("使用递归法求取numb原创 2020-05-20 09:26:11 · 10175 阅读 · 0 评论 -
Java实现约瑟夫斯问题
1 问题描述引用自《算法设计与分析基础》第三版:约瑟夫斯问题,是以弗拉瓦斯。约瑟夫斯(Flavius Josephus)的名字命名的。约瑟夫斯是一个著名的犹太历史学家,参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫斯作为一个将军,设法守住了裘达伯特的堡垒达47天之久,但在城市陷落了以后,他和40名顽强的将士在附近的一个洞穴中避难。在那里,这些反抗者表决说“要投降毋宁死”。于是,约瑟夫斯建议每个人应该轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫斯有预谋地抓到了最后一签,并且,作为洞穴中的原创 2020-05-20 09:24:13 · 10054 阅读 · 0 评论 -
Java实现预排序
1 问题描述在计算机科学中,预排序是一种很古老的思想。实际上,对于排序算法的兴趣很大程度上是因为这样一个事实:如果列表是有序的,许多关于列表的问题更容易求解。显然,对于包含了排序操作,这种算法的时间效率依赖于所选用的排序算法的效率。对于预排序的具体思想应用请参考下文。2 解决方案2.1 检验数组中元素的唯一性此问题,首先使用合并排序对数组中元素进行一次从小到大的排序,然后,依次检查数组中的元素,看是否有重复元素,如果有这说明该元素不具有唯一性,否则说明该数组中的所有元素具有元素的唯一性。pack转载 2020-05-20 09:22:09 · 10346 阅读 · 0 评论 -
Java实现最大连续子数组和
1 问题描述给定一个整数数组,数组里可能有正数、负数和零。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。例如,如果输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},那么输出为该子数组的和18。2 解决方案2.1 蛮力枚举法package com.liuzhen.array_2;public class MaxSubArray { public int bruteMethod(int[]转载 2020-05-20 09:16:35 · 10407 阅读 · 1 评论 -
java实现SPFA算法
1 问题描述何为spfa(Shortest Path Faster Algorithm)算法?spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求含负权图的单源最短路径,且效率较高。(PS:引用自百度百科:spfa是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。)spfa算法思想:spfa就是Be转载 2020-05-20 09:13:42 · 10247 阅读 · 0 评论 -
(Java实现) N皇后问题
n皇后问题是一个以国际象棋为背景的问题:在n×n的国际象棋棋盘上放置n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后,即任意两个皇后都不能处于同一条横行、纵行或斜线上。蛮力法思想:解决n皇后问题的思想本质上就是蛮力法,生成所有可能的摆放情况,并判断该情况是否满足要求,我们以树结构来表示解决问题的方法。以4*4的棋盘为例,第0层的根节点为空白的棋盘,第1层为只在棋盘的第一行摆放的四种不同情况,第2层是在第1层的基础上,摆放第二行的棋子,最后的叶子结点便是所有可能的完整摆放情况,共256种,但加上中途生成转载 2020-05-20 09:10:35 · 10135 阅读 · 0 评论