- 博客(27)
- 收藏
- 关注
原创 int[]与ArrayList<Integer>互相转换 Arrays.asList()的坑
⚠️坑:不能用Arrays.asList(arr)来将int[]转成ArrayList,转出来list只有一个元素,类型是int[]。原因:Arrays.asList(T…)参数为可变泛型参数,而基本类型无法泛型化。因此只识别为一个元素,类型int[]。此外:Arrays.asList方法返回的数组不能修改——返回的是一个自己实现的ArrayList实例并不是java.util.ArrayList,这个实例的类型Arrays里无add(),所以无法add、remove元素。如果想要插删,可以再在外面包装一个
2022-06-12 15:57:17
511
原创 关于split()的一些事 转义符、多重分割
split()方法可以分割字符串,得到字符串数组。格式如下:【注意】⚠️对于一些特殊分割符,必须添加转义符。如:“.”, “|”, “*”, “+”, “\”示例:
2022-06-12 15:50:55
466
原创 判断字符串是否为数字、大写字母、小写字母
功能需求:判断str是否每一位都是数字【方法一:ASCII码判断】数字:大写字母:小写字母:【方法二:Character.isDigit()判断数字】【方法三:正则表达式判断】判断是否是数字: [0-9]*: [0-9]表示只能为0-9范围,*表示出现0次或多次判断是否是数字、大小写字母:[0-9A-Za-z]* 表示范围为0-9或A-Z或a-z,* 表示出现0次或多次...
2022-06-12 15:41:30
1484
原创 ipv4、ipv6格式校验代码
IPv4 地址格式:IPv4地址由4组十进制数组成,每组范围为 0 - 255,用“.”分割。注意:IPv4 地址内的数不能以 0 开头。例:127.23.01.16 不合法,01以0开头IPv6 地址格式:IPv6由8组16进制的数字组成,每组由数字和字符组成,表示16位数。用 “:”分割。注意:不区分大小写;数字可以以0 开头,但多余的 0 不被允许;例:1027:00000:1901:234d:a908:2313:4432:0232不合法,出现00000超出4位。不能因为某个组的值为
2022-06-11 16:54:12
2878
原创 navicate连接mysql问题:2003- Can‘t connect to MySQL server on ‘127.0.0.1‘
navicate连接mysql问题:2003- Can’t connect to MySQL server on ‘127.0.0.1’1. 【错误1】20032003 - Can’t connect to MySQL server on ‘127.0.0.1’ (61 “Connection refused”)**解决:**勾选使用套接字文件2. 【错误2】2059在选择套接字文件后,出现新的错误——Navicat连接MySQL数据库出现错误:2059 - Authentication
2022-05-15 21:58:12
3275
原创 【Mysql】 Mac Mysql密码重置
Mac Mysql密码重置Mac系统1.切换到root用户;方式一:完全切换到root用户,回车输入电脑的密码su - root方式二:当前用户临时获得root权限su或sudo su2.关闭mysql服务;sudo /usr/local/mysql/support-files/mysql.server stop或在系统偏好里关闭MySQL服务;3.跳过权限认证;切换路径,进入数据库指令文件夹:cd /usr/local/mysql/bin/跳过权限认证,回车后
2022-05-15 21:16:33
511
原创 东华OJ 基础 49修理牛棚
一、题目49 修理牛棚作者: xxx时间限制: 1S章节: 一维数组问题描述 :在一个暴风雨的夜晚,农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚(牛棚的总数S:1<= S<=200)没有住满。 剩下的牛一个紧挨着另一个被排成一行安置在有屋顶的牛棚来过夜。 所以有些牛棚里有牛,有些没有。所有的牛棚有相同的宽度,且宽度设为1。 因为有些门遗失,农民约翰需要架起新的木板作为门。 他的新木材供应者将会供应他任何他想要的长度,但是供应者只能提供有限数目的木板。 农民约翰想将他
2021-02-03 16:19:09
245
原创 东华OJ 基础 22约瑟夫环2 比较约瑟夫环
一、题目作者: SunCiHai时间限制: 10S章节: 循环问题描述 :明明是一名公安局的谈判专家,专门负责和绑匪谈判。有一次,明明接到一个特殊的任务,他赶到了案发现场,发现有k个绑匪绑架了k个人质,于是明明就开始和绑匪进行谈判。绑匪提出了一个非常特殊的要求,如果明明能够回答出这个问题,那绑匪将释放所有的人质;否则,绑匪就要撕票。 绑匪的问题是这样:绑匪把人质和自己围成一个圈,把人质从1开始编号,一直编到k,然后绑匪自己从k+1开始编号,一直编到2k。现在从编号1开始,每次从其中选出第m个人(隔m-
2021-02-03 16:12:40
442
1
原创 东华OJ 基础 39约瑟夫环的三种解法
一、题目39 约瑟夫环作者: ZhouMingLiang时间限制: 10S章节: 一维数组问题描述 :有一次,明明的公司举行忘年会。忘年会的高潮部分是最后的抽大奖环节。公司为了增加活动的气氛,并没有按传统的抽奖方式来抽,而是进行了一个游戏:逐步逐步地淘汰人,而最后剩下的人,将会得到大奖。这个游戏的方式如下:首先公司的全部职员围成一个圈,然后确定一个淘汰数X,接着就从其中的一个人开始,从1数数,当数到X时,那个人就被淘汰出局,接着下一个人再从1开始数数,一直这样重复下去,直到剩下最后一个人,那个人就
2021-02-03 15:53:09
302
原创 东华OJ 基础 37黑色星期五 公式或取模
一、题目作者: xxx 时间限制: 1S 章节: 一维数组问题描述 :13号又是星期五是一个不寻常的日子吗? 13号在星期五比在其他日少吗?为了回答这个问题,写一个程序来计算在n年里13 日落在星期一,星期二…星期日的次数.这个测试从1900年1月1日到 1900+n-1年12月31日.n是一个非负数且不大于400.这里有一些你要知道的: 1900年1月1日是星期一. 4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.输入说明 :一个整数n(1&l
2021-02-01 15:10:02
243
原创 东华OJ 基础 34繁殖问题
34 繁殖问题作者: 孙辞海 时间限制: 1S章节: 一维数组问题描述 :有一家生化所,一月份引入一对新生的小白鼠。这对小白鼠生长两个月后,在第三、第四、第五个月各繁殖一对新小白鼠,在第六个月停止繁殖,在第七个月则死亡。新生的小白鼠也如此繁殖。问在第N个月时,活的小白鼠有多少对?输入说明 :你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由一行组成,其中只有一个整数N(0 < N ≤ 50)。两组输入数据间无空行。输出说明 :对于每组测试数据,你的程序需要向标准输
2021-02-01 14:55:17
277
原创 【算法】子矩阵的最大累加和
一、题目描述给定一个矩阵matrix,其中的值有正、负、0,返回子矩阵的最大累加和。例如:输入:-1 -1 -1-1 2 2-1 -1 -1输出:4(其中最大累加和的子矩阵为:2 2)二、思路及其代码实现思路:A、分别以第i行为起始行:(1)按列累加第i行,得到列累加一维数组,则第i行子矩阵的最大子矩阵和 = 一维数组的最大累加和;(2)按列累加第i行和第i+1行,...
2020-04-30 22:03:08
202
原创 【算法】子数组最大累加和
一、题目描述给定一个数组arr,返回数组的最大累加和。例:arr=[1,-2,3,5,-2,6,-1];所有的子数组中[3,5,-2,6]可以累加出最大的和12,所以返回12。二、两种解法思路一:暴力法 /** * 暴力解法——O(n^2) * @param arr * @return */ private static int so...
2020-04-30 21:56:14
459
原创 Z形打印矩阵
一、题目描述给定一个矩阵matrix,按照“Z”字形的方式打印这个矩阵。样例输入:1 2 3 45 6 7 89 10 11 12输出:1 2 5 9 6 3 4 7 10 11 8 12二、思路及其代码实现分析:直接关注斜线方向(左下到右上,右上到左下)的打印,遇到边界决定横向走还是竖着走。关键:如何选取变量。这里选了三个:curRow —— 当前元素的行...
2020-04-22 23:41:42
1049
原创 【蓝桥杯】螺旋数组
一、问题描述 对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。 例如,一个 4 行 5 列的螺旋矩阵如下: 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8输入格式 输入的第一行包含两个整数 n, m,分别表示螺旋矩阵的行数和列数。 第二行包含...
2020-04-22 11:58:35
407
原创 【算法】01背包_部分背包
一、01背包问题(1)题目:01背包问题:(因为对每个物品只有选和不选两种情况,所以这个问题称为01背包)有n个重量和价值分别为wi, vi的物品, 从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。1 ≤ n ≤ 100I1 ≤ wi, vi ≤ 1001 ≤ W ≤ 10000输入:第一行物体个数n第二行重量第三行价值第四行背包承装W输出:最大...
2020-04-18 01:24:33
286
原创 【cc150】括号问题
一、题目Implement an algorithm to print all valid ( properly opened and closed) combinations of n-pairs of parentheses.二、思路及其代码实现关系:S(n) = S(n-1)中每一个元素与1对括号配对组合之和(1对新括号可以加在当前组合元素的左边、右边、或括起来包含在内。 注意:当前...
2020-04-18 01:04:43
128
原创 区间调度问题 贪心算法
一、题目区间调度问题:有n项工作,每项工作分别在si时间开始,在ti时间结束。对于每项工作,你都可以选择参与与否。如果选择了参与,那么自始至终都必须全程参与。此外,参与工作的时间段不能重复(即使是开始的瞬间和结束的瞬间的重叠也是不允许的)。你的目标是参与尽可能多的工作,那么最多能参与多少项工作呢?1 ≤ n ≤ 1000001 ≤ si ≤ ti ≤ 10^9输入:第一行: n第...
2020-04-17 16:01:14
696
原创 【POJ】POJ-1700 Crossing River 贪心算法
一、题目A group of N people wishes to go across a river with only one boat, which can at most carry two persons. Therefore some sort of shuttle arrangement must be arranged in order to row the boat back ...
2020-04-17 14:40:12
269
原创 硬币支付问题 贪心算法
一、题目有1元,5元,10元,50元,100元,500元的硬币各c1, c5, c10, c50, c100, c500枚,现在要用这些来支付A元,最少需要多少枚硬币?假定本题至少存在一种支付方案,0 ≤ ci ≤ 10^90 ≤ A ≤ 10^9输入:第一行有六个数字,分别代表从小到大6种面值的硬币的个数第二行为A,代表需支付的A元样例:输入:3 2 1 3 0 2620...
2020-04-17 12:23:41
709
原创 【cc150】 硬币问题
一、题目硬币问题:Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies (1 cent), find how many ways to represent n cents.二、思路及其代码实现思路一:多路递归下面两种方法是同一思路的不同实现,练习的时...
2020-04-17 12:17:15
285
原创 【算法】部分和_DFS和二进制的两种实现
【算法】部分和_DFS和二进制的两种实现一、题目描述给定整数a1、a2、…an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。接着一行n个数。(1<=n<=20,保证不超int范围)输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例输入4 131 2 4 7样例输出...
2020-04-17 00:02:48
162
原创 【算法】求非空子集的三种思路
【算法】求非空子集的三种思路一、题目:简化:编写一个方法,返回int数组的所有非空子集。(有n个元素的集合的子集个数:2^n - 1)二、思路及代码思路一:递归对每个元素,都可以选择进入或者不进入子集。因此,求n个元素的子集,可以分解成:求出n-1个元素的子集A后,第n个元素再选择加入或者不加入A,得到最终子集。求第n-1个元素的子集,可以递归求出n-2个元素的子集,再对第n-1个...
2020-04-16 19:15:51
3914
原创 【蓝桥杯】数独游戏——深度优先搜索DFS
蓝桥杯_数独 _DFS一、题目:你一定听说过“数独”游戏。如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程...
2020-04-16 00:33:41
546
原创 【算法】快速幂的两种O(logn)级别算法
【算法】快速幂的两种logn级别算法方式一:翻倍思想——O(logn)/** * 快速幂——O(logn),用翻倍*翻倍的思想 * @param a 底数 * @param n 指数 * @return 幂值 */ public static double pow1(int a,int n) {// 1、注意0次幂的特殊...
2020-04-15 17:51:36
520
原创 【算法】全排列的四种思路
【全排列】全排列的四种思路一、公式n个元素全排列,有n!种排列方式。即: f(n) = n!二、实现思路及代码思路一:头中尾插入法——单路递归先对前n-1个字符全排列,得到全排列集合后,对集合中每个排列,第n个字符都可以往头插、往尾插、往中间插。值得注意的是,往中间插的时候,是往该排列的每两个字符中间插,需遍历该排列。/** * way01——插入法的迭代实现 ...
2020-04-15 16:06:02
1374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人