自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaKK

Java小白的代码日常...

  • 博客(15)
  • 收藏
  • 关注

原创 【算法基础】括号字符串的有效性和最长有效长度

给定字符串str,如果str中含有'('、')'以外的字符直接返回false,否则检验str的所有括号是否匹配[升级]给定字符串str,如果str中含有'('、')'以外的字符直接返回false,否则检验str的所有括号是否匹配,并输出最大有效长度 思路:     *         从左到右遍历str,如果遇到其他字符直接返回false     *         遇到'(...

2018-08-31 15:09:42 705

原创 【算法基础】找到被指的新类型字符

新类型字符是指:长度为1或2的字符串,表现形式只能为单个小写字母、大写字母+小写字母、大写字母+大写字母,三种形式,给定的字符串str由若干个新类型字符组成,问给定位置K上的新类型字符是?思路:     *         一. 可以从左到右遍历str,按照题目规则,将str拆分,然后根据k所在位置输出     *         二. 观察题目发现     *         ...

2018-08-31 14:28:43 354

原创 【算法基础】不用额外变量交换两个变量的值

不用额外变量交换a和b的值* 思路:         *         记 a ^ b 为 c         *         那么 c ^ b = a , c ^ a = b  源代码 package com.javakk.ex1;/** * @Time 2018年8月31日 上午9:39:42 * @Title { 不用额外变量交换a和b的值 } ...

2018-08-31 14:18:18 568

原创 【算法基础】转圈打印矩阵

给定的matrix矩阵,由内而外转圈打印元素核心思想:将矩阵分圈、再循环打印 package com.javakk.ex;/** * @Time 2018年8月30日 下午3:44:17 * @Title { 转圈打印矩阵 } * @Desc { 给定的matrix矩阵,由内而外转圈打印元素 } * @Email [email protected] * @Author ...

2018-08-31 14:14:38 678

原创 【算法基础】顺时针旋转矩阵

将给定的矩阵matrix顺时针旋转90°* 思路:     *         将matrix分为一圈一圈的小圈     *         顺时针旋转其实就是每圈中各个元素依次占位 package com.javakk.ex;/** * @Time 2018年8月30日 下午3:02:20 * @Title { 旋转矩阵 } * @Desc { 将给定的矩阵ma...

2018-08-31 14:14:24 3366

原创 【算法基础】需要排序的最短子数组长度

给定一个无序数组arr,求出需要排序的子数组长度 * 思路:     *         先从右到左遍历数组     *         min : 出现的最小元素     *         noMinIndex : 出现无序(cur > min)时的位置     *         再从左到右遍历数组     *         max : 出现的最大元素     ...

2018-08-30 16:52:15 597

原创 【算法基础】在已排序的矩阵中找数

给定的矩阵matrix从左到右,从上到下一次递增,问K是否在matrix中时间复杂度 O(M+N)  * 思路:     *         从matrix的右上角或者左下角cur开始搜索     *         如果cur > k 说明只能在左边搜     *         如果cur < k 说明只能在下边搜     *         如果cur ...

2018-08-30 16:51:17 424

原创 【算法基础】奇数下标都是奇数,偶数下标都是偶数

给定长度不小于2的数组,输出调整后的数组,额外空间复杂度O(1)思路:            even : arr最左边的偶数下标            old : arr最左边的奇数下标            不断检查arr的最后一个数,如果是偶数则和even交换,even+=2,如果是奇数则和old交换,old+=2,直到even或者old大于或等于N源代码 ...

2018-08-30 16:50:01 1378

原创 【算法基础】子数组的最大累加和

 给定数组arr求出子数组的最大累加和,额外空间复杂度O(1)* 思路:     *         cur : 当前累加值     *         如果cur<0则不可能作为结果返回,cur取0 源代码 package com.javakk.ex;/** * @Time 2018年8月30日 上午11:12:33 * @Title { 子数组的最大...

2018-08-30 16:45:37 398

原创 【算法基础】不包含本位置值的累乘的两种解法

给定一个arr,返回不包含本位置的累乘数组,除需要返回的结果数组,额外空间为O(1) 【升级】给定一个arr,返回不包含本位置的累乘数组,除需要返回的结果数组,额外空间为O(1),不能使用除法   * 思路:     *         计算出arr中0的个数count和非0的累乘值all     *         如果count为0,则res[i] = all / arr...

2018-08-30 16:44:38 212

原创 【算法基础】从N个数中等概率打印M个数

相同的数不打印,额外空间复杂度为O(1)* 思路:     *         在[0,N-1]中获得一个随机数a,并打印arr[a]     *         将arr[a]与arr[N-1]交换     *         在[0,N-2]中获得一个随机数b,并打印arr[b]     *         将arr[b]与arr[N-2]交换     *         ...

2018-08-30 16:39:52 339

原创 【算法基础】数组的partition调整升级

相同问法:给定一个数组arr,其中只可能含有0,1,2请排序相同问法:给定一个数组arr,其中只可能含有红球、黄球、蓝球请实现红球放左边、黄球放中间、蓝球放右边 * 思路:     *         将结果分为三个区域A、B、C     *         left : A区域最右端     *         index : 从左到右遍历     *         ri...

2018-08-30 16:38:27 255

原创 【算法基础】数组的partition调整

给定有序数组arr,调整arr使得它的左半部分升序且不重复 思路:              u : 左边的最后位置              i : 从左到右遍历              当arr[i]和arr[u]不相等时,说明升序了,此时调换arr[u+1]和arr[i]源代码package com.javakk.ex;import java.util....

2018-08-30 16:35:48 396

原创 【算法基础】判断回文数

用户输入一个32位以内的整数,判断该数是否为回文数注意:负数也可以是回文* 思路:     *         整数的最小负数不能转为正整数     *         取help和n相同位数     *         如果首位 (n / help) 与末位 (n % 10) 不相等返回false     *         n去掉首位和末位 (n % help) / 10...

2018-08-30 16:33:34 404

原创 【算法基础】DFS凑数

 从给定的数组arr中选取一个或多个数能否凑出给定的k?源代码 package com.javakk.ex;import java.util.Scanner;/** * @Time 2018年8月29日 下午5:43:06 * @Title { 凑数K }  * @Desc  { 用给定的一个或多个数能否凑出给定的k } * @Email [email protected]...

2018-08-30 16:28:42 1626

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除