
算法
万里顾—程
我变得自信有趣,
允许别人踏入我的生活;
我睡的越来越早,
开始在乎前途和未来,
我知道那个我回来了!
展开
-
动态规划算法
动态规划算法1、介绍动态规划算法介绍动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若千个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。动态规划可以通过填表的方式来逐步推进,得到最优解原创 2022-04-24 14:48:13 · 443 阅读 · 0 评论 -
求int型正整数在内存中存储时1的个数
求int型正整数在内存中存储时1的个数描述输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内输入描述:输入一个整数(int类型)输出描述:这个数转换成2进制后,输出1的个数示例1输入:5输出:2示例2输入:0输出:0代码实现调用toBinaryString方法得到二进制字符串import java.util.Scanner;public class Main { public stat原创 2022-04-14 10:25:26 · 318 阅读 · 0 评论 -
字符串排序
字符串排序描述给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围:1 ≤ n ≤ 1000 ,字符串长度满足 1≤ len ≤100输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。示例1输入:9captocatcardtwotooupboatboot输出:boatbootcapcardcattotootw原创 2022-04-13 11:13:18 · 468 阅读 · 0 评论 -
逆序的句子
逆序的句子描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符数据范围:输入的字符串长度满足 1≤n≤1000注意本题有多组输入输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子示例1输入:I am a boy输出:boy a am I示例2输入:nowcoder输出:nowcoder代码实现一使用空格分原创 2022-04-12 09:43:17 · 166 阅读 · 0 评论 -
两个小数的商
小数的商题目描述控制台输入一串小数,每个小数之间用,分开,找到第四个和第七个小数,在控制台打印出他们的商。可能出现的异常可能出现的异常:java.lang.ArithmeticException:Non-terminating decimal expansion; no exact representable decimal result”。原因:BigDecimal 是不可变的、任意精度的有符号十进制数,所以可以做精确计算。但在除法中,准确的商可能是一个无限长的十进制扩展;例如,1 除以原创 2022-04-11 10:16:13 · 212 阅读 · 0 评论 -
明明的随机数
明明的随机数描述明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围:1≤n≤1000 ,输入的数字大小满足 1 ≤ val ≤ 500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果示例1输入:3221输出:12说明:输入解释原创 2022-04-09 09:38:22 · 876 阅读 · 0 评论 -
字符串和数字反转
数字颠倒描述输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001数据范围: 0≤n≤2^30−1输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出示例1输入:1516000输出:0006151示例2输入:0输出:0import java.util.*;public class Main { public static void main(String[] args) {原创 2022-04-08 09:24:54 · 836 阅读 · 0 评论 -
字符个数统计
字符个数统计描述编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。数据范围:1≤n≤500输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。示例1输入:abc输出:3示例2输入:aaa输出:原创 2022-04-07 09:39:09 · 342 阅读 · 0 评论 -
合并表记录
合并表记录描述数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。提示:0 <= index <= 111111111 <= value <= 100000输入描述:先输入键值对的个数n(1 <= n <= 500),接下来n行每行输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入:40 1原创 2022-04-06 09:53:45 · 564 阅读 · 0 评论 -
计算质数因子
质数因子描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1≤n≤2×10^9+14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。示例1输入:180输出:2 2 3 3 5思路为了减少重复量,只需计算输入数的算术平方根的质数因子,一个正整数最多有一个质因子大于其平方根,且只会是其本身。如:6的算术平方根为根号6import java.util.Scann原创 2022-04-05 13:15:23 · 1971 阅读 · 0 评论 -
16进制字符串转10进制数值
16进制字符串转10进制数值描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤2^31−1输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1输入:0xAA输出:170思路1、把0-9和A-F为key,对应的值为value存入map,如(“B”,11);2、把输入的16进制字符串逐个取出,放入String数组,除了前面0x不用3、然后按权展开,计算相加即可[外链图片转存失败原创 2022-04-04 13:32:15 · 4139 阅读 · 0 评论 -
字符串分隔
字符串分隔输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc输出:abc00000思路一:普通版1、如果字符串是8的整数倍,就循环截取8位2、如果字符串小于8,把小于的位数补03、如果字符串大于8位,且不是8的整数倍,循环截取8位并输出,剩余不够8位的补0import java.util.Sca原创 2022-04-03 16:14:51 · 774 阅读 · 0 评论 -
计算某字符出现次数
计算某字符出现次数描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 ≤ n ≤ 1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA输出:2思路把所有字符都变为小写;用""替换要查找的字符;再用原来长度减掉替换后的长度,少了的长度就是查找的字符的长度im原创 2022-04-02 09:38:54 · 421 阅读 · 0 评论 -
字符串最后单词的长度
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8思路String转为StringBuffer,调用StringBuffer的reverse()方法反转字符串,然后循环遍历字符并添加到新字符串中,直到遍历到空格.原创 2022-04-01 20:39:22 · 355 阅读 · 0 评论