自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 蓝桥杯第十一届E题

考试的时候没有做出来,没想到怎么对图进行初始化。赛后才知道可以遍历1到127,一共7为数字,1表示点亮,0表示不点亮,直接深搜就行,最后比较加入hash的节点和遍历到的节点数是否相等。package test;import java.util.*;public class test12 { public static void main(String[] args) { int num=0; for(int i=1;i<=127;i++) { int[][] map=n.

2020-10-17 19:54:47 237 2

原创 易错点

Integer.valueOf("999999999")会出错。

2020-10-16 18:11:44 125 1

原创 java保留小数

最好不要用乘以一个数,然后强制转换再除以一个数。比如下面 int a=10; System.out.println(((int)(a*100))*1.00/100);输出10.0,多余的0都省略掉了。应该用这个String的format double a=10; System.out.println(String.format("%.2f",a));...

2020-10-16 17:58:23 86

原创 快速幂

计算a^n % b,其中a,b和n都是32位的整数。例如 2^31 % 3 = 2例如 100^1000 % 1000 = 0(1).快速幂  快速幂,顾名思义就是快速的求次幂,例如:a^b,普通的算法就是累乘,这样的计算方法的时间复杂度就是O(n),而快速幂的方法使得次幂的计算方法的时间复杂度降低到O(logn).  假设我们要求a^b的结果,这里我们可以将b转换为二进制来求。例如:a^11 = a(2 ^ 0 + 2 ^ 1 + 2 ^ 3) = a ^(1011);所以,我们.

2020-10-13 16:37:03 81

原创 leetcode 91 解码方法

‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。题目数据保证答案肯定是一个 32 位的整数。示例 1:输入:“12”输出:2解释:它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入:“226”输出:3解释:它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6) 。示例 3:输入:s = “0”输出:0示例 4:输入:s = “1”输出

2020-10-13 15:51:13 120

原创 leetcode 42 剑值offer42 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。//只要求结果,这种一般都是dpclass Solution { public int maxSubArray(int[] nums) { int n=nums.length; int[] dp=ne

2020-10-04 21:01:07 86

原创 leetcode 143 整数拆分

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。因为n可以拆分成两个数,也可以拆分多个数。 拆分成两个数的时候乘积就是i * (n - i),也可以选择继续拆分:integerBreak(n - i)就是将n - i继续拆分的结果,但是我们并不知道种哪拆

2020-10-04 12:12:08 174

原创 leetcode 152 乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。class Solution { //max,min表示有nums[i]参与的连续子数组的最大值和最小值 public int maxProduct(int

2020-10-03 14:57:52 89

原创 leetcode 32 最长有效括号

给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”有效括号的特性,就是长度一定是偶数,并且在任何位置左括号的数量都是大于等于右括号的数量的,如果在任何位置右括号大于左括号的数量,那么说明这个组成的括号是无效的。根据这个特性我们来看下代码 public int longestValidParent

2020-10-03 13:37:18 106

原创 leetcode 面试题17.16.按摩师

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1]输出: 12解释: 选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2 + 9 + 1

2020-10-03 11:42:59 236

原创 leetcode 5最长回文字串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”第一遍的暴力搜索,961msclass Solution { char[] ch; int n; public String longestPalindrome(String s) { ch=s.toCharArray();

2020-10-01 23:13:11 126

原创 java的binarySearch二分查找总结

1.Arrays.binarySearch不在默认库中,Arrays不在默认库中,需要import java.util.Arrays;进行把Arrays类导入。2.二分查找的前提:数组的元素需要排序3. binarySearch(Object[], Object key)binarySearch(Object[], int fromIndex, int toIndex, Object key)fromIndex:指定范围的开始处索引(包含)toIndex:指定范围的结束处索引(不包含)

2020-10-01 22:08:32 145

原创 leetcode 300 最长上升序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。二分查找法:新建一个数组,然后第一个数先放进去,然后第二个数和第一个数比较,如果说大于第一个数,那么就接在他后面,如果小于第一个数,那么就替换,一般的,如果有i个数,那么每进来一个新的数,都要用二分查找法来得知要替换在哪个位置的数。因为有个for循环,所以是O(N),在加上循环里有个二分查找,所以最后是O(Nl

2020-10-01 22:02:31 64

空空如也

空空如也

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

TA关注的人

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