自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript 中日期转换

JavaScript 中日期转换new Date():返回当日的日期和时间Tue Dec 01 2020 10:25:42 GMT+0800 (中国标准时间)getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。getMonth()从 Date 对象返回月份 (0 ~ 11)。getFullYear()从 Date 对象以四位数字返回年份。getHours()返回

2021-03-30 16:18:45 316

原创 Antd Vue 文件导出与导入

Antd Vue 文件导出与导入StaticMethods.jsexport let exportRaw = (name, data) => { var urlObject = window.URL || window.webkitURL || window; var export_blob = new Blob([data]); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml",

2021-03-29 20:13:47 1738

原创 Leetcode中组合总和系列

一、Leetcode77. 组合1、题目给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]2、思路回溯算法,思路如图所示3、代码class Solution { List<List<Integ...

2019-10-19 16:36:48 1023

原创 Java十进制、二进制、八进制、十六进制之间的转换

一、十进制转二进制方法一:输入一个十进制数n,每次用n除以2,把余数记下来,然后再用商去除以2……依次循环,直到商为0结束,把余数倒着依次输出即为转换后的二进制public void decimalToBinary(int n){ String res = ""; while(n != 0){ res = n % 2 + res; n = n /...

2019-10-09 21:04:19 905

原创 简单工厂模式

实例化对象的时候不再使用 new Object()形式,可以根据用户的选择条件来实例化相关的类。对于客户端来说,去除了具体的类的依赖。只需要给出具体实例的描述给工厂,工厂就会自动返回具体的实例对象。具体实现如下:(1)定义一个操作接口:public interface Operation { public double getResult(double A, doub...

2019-05-17 19:39:48 100

原创 背包问题求方案数

题目:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最优选法的方案数。注意答案可能很大,请输出答案模1e9+7的结果。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi用...

2019-04-10 11:27:18 1036

原创 书架排书 逆序对

PayPal的一道笔试题,一个数组每一行代表书架上书的编号,每一行数组都有一个逆序对,想从逆序对小的开始排每一行的书,输入行数N,列数k, 以及N*k的数组;输出一个数组比如输入输出计算数组逆序对的函数是剑指offer上的,写出来不难,关键是怎么按照逆序对的大小把对应数组的顺序变换过来数组直接输出有一个简单方法 Arrays.deepToString(num);i...

2019-04-09 13:55:39 194

原创 Map统计出现频率并按频率大小逆序输出

题目描述:测试团队里,我们会对多个应用进行覆盖率统计,比如应用A,B,C.....N,现在我们希望统计出代码覆盖率在<=20,21~50,51~70以及>70这几个区间内的应用个数,并按照应用个数由大到小的顺序对这几个区间进行排序输入:A:45,C:35,D:9,F:43,M:10,G:90输出:21~50:3,<=20:2,>70:1,51~70:0...

2019-04-09 10:54:09 305

原创 Mysql最左匹配原则

看了好多博客,讲讲自己的理解:索引的底层是一颗B+树,那么联合索引当然还是一颗B+树,只不过联合索引的健值数量不是一个,而是多个。构建一颗B+树只能根据一个值来构建,因此数据库依据联合索引最左的字段来构建B+树。例子:假如创建一个(a,b)的联合索引,那么它的索引树是这样的可以看到a的值是有顺序的,1,1,2,2,3,3,而b的值是没有顺序的1,2,1,4,1,2。所以b = 2这种查询...

2019-04-01 13:12:13 57614 57

原创 最后剩下的数

今天PayPal笔试第一道热身题,和剑指offer上的一题很像,剑指offer上是每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回...

2019-03-30 21:32:22 159

原创 LeetCode377. 组合总和 Ⅳ

题目:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。第一次做觉得就是个简单...

2019-03-29 14:48:13 277

原创 LeetCode474. 一和零

题目:在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着m个0和n个1。另外,还有一个仅包含0和1字符串的数组。你的任务是使用给定的m个0和n个1,找到能拼出存在于数组中的字符串的最大数量。每个0和1至多被使用一次。注意:给定0和1的数量都不会超过100。 给定字符串数组的长度不会超过600。...

2019-03-29 14:01:50 364

原创 LeetCode518. 零钱兑换 II

题目:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出...

2019-03-29 11:01:43 316

原创 不用任何比较判断找出两个数中的最大值

题目:给定两个32位整数a和b,返回a和b中较大的一个,要求不能使用比较判断思路一:判断a-b的符号,sign(int n) 函数实现 n为正数返回1,n为负数返回0。return a*scA + b*scB,就是根据a-b的值,选择要么返回a,要么返回b。import java.util.*;class Main{ public static void main(S...

2019-03-29 10:03:44 968

原创 位运算总结

"<<" 左移:右边空出的位上补0,左边的位将从字头挤掉,其值相当于乘2。">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。">>>"运算:右边的位被挤掉,对于左边移出的空位一概补上0。按位与&:清零特定位 (mask中特定位置0,其它位为1,s=s&a...

2019-03-28 21:41:44 104

原创 LeetCode71. 简化路径

题目:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠/开头,并且两个目录名之...

2019-03-27 21:51:25 89

原创 LeetCode12. 整数转罗马数字

题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并...

2019-03-27 21:41:33 100

原创 LeetCode481. 神奇字符串

题目:神奇的字符串S只包含 '1' 和 '2',并遵守以下规则:字符串S是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串S本身。字符串S的前几个元素如下:S= “1221121221221121122 ......”如果我们将S中连续的 1 和 2 进行分组,它将变成:1 22 11 2 1 22 1 22 11 2 11 22 .....

2019-03-27 21:36:58 241

原创 LeetCode299. 猜数字游戏

题目:你正在和你的朋友玩猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用A表示公牛,用B表示奶牛。...

2019-03-27 21:32:35 544

原创 LeetCode24. 两两交换链表中的节点

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.非递归版本class Solution { public ListNode swapPairs(ListNode head) { ...

2019-03-27 21:27:44 95

原创 LeetCode54. 螺旋矩阵

题目:给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,1...

2019-03-27 21:24:43 87

原创 LeetCode504. 七进制数

题目:给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意:输入范围是[-1e7, 1e7]class Solution { public String convertToBase7(int num) { if(num == 0) ...

2019-03-27 21:21:03 154

原创 LeetCode264. 丑数 II

题目:编写一个程序,找出第n个丑数。丑数就是只包含质因数2, 3, 5的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1是丑数。 n不超过1690。class Solution { public int nthUglyNumber(int n)...

2019-03-27 21:19:01 67

原创 LeetCode263. 丑数

题目:编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数2, 3, 5的正整数。示例 1:输入: 6输出: true解释: 6 = 2 ×3示例 2:输入: 8输出: true解释: 8 = 2 × 2 ×2示例3:输入: 14输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数7说明:1是丑数。 ...

2019-03-27 21:17:18 72

原创 分组背包问题

题目有N组物品和一个容量是V的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vij,价值是wij,其中i是组号,j是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数N,VN,V,用空格隔开,分别表示物品组数和背包容量。接下来有N 组数据:每组数据第一...

2019-03-26 21:12:31 1274

原创 二维费用的背包问题

题目:有NN件物品和一个容量是VV的背包,背包能承受的最大重量是MM。每件物品只能用一次。体积是vivi,重量是mimi,价值是wiwi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行两个整数N,V, M 用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下...

2019-03-26 20:09:47 412

原创 混合背包问题

题目:有N种物品和一个容量是V的背包。物品一共有三类:第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用sisi次(多重背包);每种体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容...

2019-03-26 19:42:10 1939 1

原创 多重背包问题 II

题目有N种物品和一个容量是V的背包。第i种物品最多有si 件,每件体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V 用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行三个整数vi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。...

2019-03-26 17:12:01 241

原创 多重背包问题 I

题目:有N种物品和一个容量是V 的背包。第i种物品最多有si件,每件体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数N,V 用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行三个整数vi,wi,si,用空格隔开,分别表示第i种物品的体积、价值和数量。...

2019-03-26 16:17:59 400

原创 Java反射理解

反射:程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性。Java 反射主要涉及两个类(接口)Class, MemberClass详解Class与 class 关键字不是同一种东西。class 关键字是在声明 java 类时使用的;而 Class 是 java JDK 提供的一个类,...

2019-03-26 14:34:24 449

原创 LeetCode322. 零钱兑换

题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: ...

2019-03-25 14:08:42 120

原创 LeetCode494. 目标和

题目:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输入: nums: [1, 1, 1, 1, 1], S: 3输出: 5解释: -1+1+1+1+1 = 3+1-1+1...

2019-03-25 11:34:46 246

原创 LeetCode416. 分割等和子集

题目:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释:...

2019-03-25 10:53:28 163

原创 完全背包问题

题目:有N种物品和一个容量是V的背包,每种物品都有无限件可用。第i种物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行两个整数vi,wi用空格隔开,分别表示第i种物品的体积和价值。输出格式输出...

2019-03-24 19:33:12 187

原创 01背包问题

题目:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi用空格隔开,分别表示第i件物品的体积和价值。输出格式输出一个整数,表示...

2019-03-24 18:46:49 551

原创 单例模式

核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点常见应用场景: ...

2019-03-24 13:44:59 78

原创 最长公共子串

以前这道题和最长公共子序列老是搞混,于是死记硬背,动态规划的转换公式如果当前元素匹配,dp[i][j]=1 +dp[i-1][j-1],否则dp[i][j] = 0;这道题目动态规划做的答案dp数组的大小设定有的是dp[str1.length()+1][str2.length()+1]的版本,有的是dp[str1.length()][str2.length()]的版本,两种初始化不同,下标写的时候...

2019-03-24 10:35:08 12503 7

原创 冒泡排序

昨天做题目输入输出语句搞了好久,心态炸了,所以决定把以前做过的题目加上完整的输入输出语句再重新做一遍,明明会的题目,因为紧张和一些细节没处理好没跑过真的难受极了╥﹏╥...import java.util.*;class Main{ public static void main(String[] args){ ArrayList<Integer> li...

2019-03-24 10:08:43 77

原创 TCP四次挥手

四次挥手过程:1、客户端向服务器发送FIN = 1;其序列号seq = u;用来关闭客户端到服务器的数据传送,客户端进入FIN_WAIT_1状态;2、服务器收到FIN包,发送ACK确认包给客户端(ACK = 1)确认序号为收到序号加1(ack = u+1),并带上自己的序列号seq = v,服务器端进入CLOSE_WAIT状态,客户端收到服务器的确认请求后,进入FIN-WAIT-2状态...

2019-03-06 21:28:12 89

原创 TCP为什么是三次握手?

TCP的三次握手过程:1、第一次握手:建立连接时,客户先发送SYN = 1,seq = x到服务器,客户端进入SYN_SEND状态,等待服务器确认;2、第二次握手:服务器收到SYN包后必须确认收到客户的SYN包,发送ACK(ack = x+1),同时自己也发送一个SYN包(seq= k),此时服务器进入SYN_RECV状态。3、第三次握手:客户端收到服务器的SYN+ACK包之后,向服...

2019-03-06 20:18:05 125

空空如也

空空如也

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

TA关注的人

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