
面试算法题
心歌技术
认知迭代命运
展开
-
m * n 二维地图,数字1是指定区域边界,统计边界内0的个数
链接:https://www.nowcoder.com/questionTerminal/6427b054e3a4415294b383beafc7532c?toCommentId=151414来源:牛客网给你一张n*m的西湖地图二值图,其中西湖的轮廓用1表示,轮廓内核轮廓外均用0表示。现在请你统计西湖的面积,即轮廓内0的个数。输入描述:输入包含多组数据,每组数据第一行包含两个正整数n(3≤n≤10)和m(3≤m≤10)。紧接着有n行,每行m个数字,代表地图,数字之间无空格。..原创 2021-05-09 11:40:10 · 1008 阅读 · 0 评论 -
java文件复制
将d:\java目录下的所有.java文件复制到d:\av目录下,并将原来文件的扩展名从.java改为.avimport java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.InputStr原创 2017-10-06 20:46:31 · 418 阅读 · 0 评论 -
快速排序算法
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。假设用户输入了如下数组:下标01原创 2017-10-07 22:38:19 · 1199 阅读 · 2 评论 -
将数组元素顺序颠倒
有数组a[n],用java代码将数组元素顺序颠倒实现代码:import java.util.Arrays;public class Test{ public static void main(String[] args) { int [] a = new int[]{ (int)(Math.random() * 1000), (int)(Math.rand原创 2017-10-08 11:17:57 · 3282 阅读 · 1 评论 -
截取字符串
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个.如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。代码:public class Test { public static void main(String[] args) throws E...原创 2017-10-06 21:01:05 · 6192 阅读 · 0 评论 -
金额转换
金额转换,阿拉伯数字的金额转换成中国传统的形式例如输入:102030456输出:壹亿零贰佰零叁万零肆佰伍拾陆元代码示例:public class Test{ private static final char[] data = new char[]{ '零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}; private static原创 2017-10-08 11:46:45 · 709 阅读 · 1 评论 -
设计一个投入方案
小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需原创 2017-09-21 19:45:09 · 1379 阅读 · 0 评论 -
打印排序结果
要求:现在输入n个数字,以逗号分开,然后可选择升或者降序排序;按提交键就打印显示按什么排序并输出排序好的结果。例1:输入 5,8,9,2,4,7,1,3,6,降序输出 降序排列:9,8,7,6,5,4,3,2,1例2:输入 5,8,9,2,4,7,1,3,6,升序输出 升序排列:1,2,3,4,5,6,7,8,9例3:输入原创 2017-10-10 21:22:09 · 1057 阅读 · 0 评论 -
递归算法题
递归算法题本文章将对一些常见的递归算法进行解析,并给出一些思路提供给大家。1. 求1+2+3+……+n的值 static int fun1(int n){ if (n == 1) return 1; return n + fun1(n-1); }2.求1*2*3*……*n的值 static int fun2原创 2017-10-07 16:55:09 · 1174 阅读 · 0 评论 -
打印重复姓名和重复次数
从下面的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序info.txt1,张三,282,李四,353,张三,284,王五,355,张三,286,李四,357,赵六,288,田七,35结果;李四:2张三:3代码实现;import java.io.BufferedReader;import java.io原创 2017-10-07 13:23:47 · 877 阅读 · 0 评论 -
二分查找
二分查找的三种实现方法二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大原创 2017-10-07 12:40:32 · 259 阅读 · 0 评论 -
给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大
题目:给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述:无序整数数组A[n]输出描述:满足条件的最大乘积输入例子: 3 4 1 2输出例子: 24import java.util.Scanner;public class Main { public static void m原创 2017-09-13 19:48:09 · 4145 阅读 · 2 评论 -
得到交替排列形式字符串
题目:牛牛有n张卡片排成一个序列.每张卡片一面是黑色的,另一面是白色的。初始状态的时候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛现在想要把一些卡片翻过来,得到一种交替排列的形式,即每对相邻卡片的颜色都是不一样的。牛牛想知道最少需要翻转多少张卡片可以变成交替排列的形式。分析:由题意得,要得到交替排列形式,只有BWBWBW....或者WBWBWB...两种可能。只需要用两原创 2017-09-07 21:30:53 · 800 阅读 · 0 评论 -
给出一个区间[a, b],计算区间内“神奇数”的个数。
题目:给出一个区间[a, b],计算区间内“神奇数”的个数。神奇数的定义:存在不同位置的两个数位,组成一个两位数(且不含前导0),且这个两位数为质数。 例子:153,可以使用数字3和数字1组成13,13是质数,满足神奇数。同样153可以找到31和53也为质数,只要找到一个质数即满足神奇数。解题思路:先求11到99所有质数,存于列表 第一个循环从a到b,将数字 I 转换成字符串S 第二个循环将质原创 2017-09-07 20:55:55 · 3497 阅读 · 0 评论 -
将输入的一个数进行多少次变换变成个位数
题目:将输入的一个数进行多少次变换变成个位数 例子:输入 285 — 2*8*5=80 –8*0–0 –需要2次变换 要求输入:整数小于等于2,000,000,000import java.util.Scanner;public class test { private static int temp = 0; public stati原创 2017-09-07 18:05:25 · 678 阅读 · 0 评论 -
兔子繁殖问题(斐波那契数)
兔子繁殖问题斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对两个月后,生下一对小兔对数共有两对三个月以原创 2017-10-06 19:43:44 · 10843 阅读 · 0 评论 -
将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt
将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt例子:a.txt111222333444555b.txtaaaabbbbccccddddeeeec.txt111aaaa222bbbb333cccc444dddd555eeee代码:import java.io.File; imp原创 2017-10-06 20:37:56 · 1525 阅读 · 0 评论 -
统计字符串中的不同字符个数
统计字符串中的不同字符个数统计字符串中英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。实现代码:public static void main(String[] args) throws Exception{ String str = "落尘曦a的1234bc博客def56789"; int原创 2017-10-07 12:04:06 · 8530 阅读 · 0 评论 -
java常用的8种排序方法
1.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。如何写写成代码:首先设定插入次数,即循环次数,for(int i=1;i设定插入数和得到已经排好序列的最后一个数的位数。inser原创 2017-09-13 14:36:53 · 17713 阅读 · 1 评论