- 博客(33)
- 收藏
- 关注
原创 回溯相关题目
一:排列问题题目描述: 二:组合问题题目描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: can...
2018-08-23 20:09:33 340
原创 【深入理解java虚拟机】第三章 垃圾收集器与内存分配策略
程序计数器,虚拟机栈和本地方法栈随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出有条不紊得执行着出栈和入栈的操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题,因为方法结束或者线程结束时,内存自然就跟随着回收了;而java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法的多个分支需要的...
2018-08-13 15:38:27 144
原创 【深入理解java虚拟机】第2章 Java内存区域与内存溢出异常
概述 Java虚拟机在执行Java程序的过程中会把所管理的内存划分为若干不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则以来用户线程的启动和结束而建立和销毁。一 Java虚拟机运行时数据区域:线程私有的:程序计数器、本地方法栈和虚拟机栈 是线程私有的,比如每个线程都需要有一个单独的程序计数器,各个线程之间 计数器...
2018-07-29 16:18:47 227
原创 最长公共子序列、最长公共子串、连续数组最大和、最长上升子序列
总结几个容易混淆的问题问题一:连续数组的最大和问题描述:输入一个整型数组,数组中有正数有负数。数组中的一个或多个正数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)解法一:动态规划方法递推公式:f(i-1)<0: f(i)=f(i-1)+a[i] f(i...
2018-07-29 14:03:15 520
原创 C与Java二维数组的问题
我就理解着记下来好了……C语言中可以省略第一维(行),不可以省略第二维(列);因为在初始化的时候第二维数字表示分配内存的长度,第一维数字表示分配内存的倍数,倍数可以机器去数,但长度没有就不能开辟空间了。二维数组的存储是“先行后列”的,如果不指定列数,就不知道一行放多少数据,只要知道了列数,就可以知道一共能放多少行了。java中,可以不可以省略第一维(行),可以省略第二维(列);因为第二维...
2018-07-28 21:34:00 335
原创 【leetcode】combinations&permutations 组合与排列问题
问题描述:Given two integers n and k, return all possible combinations of knumbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4...
2018-07-16 20:43:47 218
原创 二叉树相关题目
题目一:Path SumGiven a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree ...
2018-07-12 17:40:43 156
原创 【Leetcode】Word Ladder
题目描述:给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 endWord ...
2018-07-11 15:45:12 2548
原创 【leetcode】Perfect Squares
题目描述:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.分析:问题的实质是图的广度优先搜索,寻找无权图的最短路径问题;最直观的想法是想到了贪心的解法,但是这道...
2018-07-11 13:43:07 429
原创 求最大公约数
题目描述如题啥也不说了 直接上代码了 思路注释里都写了import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ ...
2018-07-06 17:19:50 186
原创 【网易真题】数对
心塞塞,一做题发现自己有多菜……题目描述:链接:https://www.nowcoder.com/questionTerminal/32d1c4f18d144b6e9eb1e13481f717c5来源:牛客网牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。牛牛希望你能帮他计算一共有多少个可能的...
2018-07-05 23:20:44 1241 1
原创 【网易真题】牛牛找工作
哎 一时兴起做了一套网易真题,发现不会的不止一点点哎 赶紧学习吧题目描述:链接:https://www.nowcoder.com/questionTerminal/5e1b251c90ba4e6982cb349076ed4449来源:牛客网为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛...
2018-07-05 14:19:18 224
原创 月饼最大收益
题目描述:月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、 72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第...
2018-07-02 20:33:56 242
原创 进制均值
题目描述:尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,。 小B感兴趣的是,一...
2018-07-02 16:50:07 204
原创 构造队列(一道有趣的题)
题目描述:小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:while(!Q.empty()) //队列不空,执行循环{ int x=Q.front(); //取出当前队头的值x Q.pop(); //弹出当前队头 Q.push(x); ...
2018-07-01 22:45:44 323
原创 阶乘相关的题目
题目一:给定一个整数N,那么N的阶乘末尾有几个0?例如:N=10,N!=3628800,N!的末尾有两个0分析:对N!进行质因子分解,则可以得到末尾0的个数M只与因子2和因子5的个数有关,进一步分析,M只与因子5的个数有关;所以问题的实质就是找出N!中因子5的个数;解法一:最简单的想法就是遍历从1到N计算出每个数中因子5的个数,然后求和;import java.util.Scanner;publ...
2018-07-01 17:15:46 1955
原创 位运算相关题目
面试中会遇到很多与位运算相关的题目,在这里对位运算的相关知识点和遇到的一些题目总结一下。二进制的5种位运算:与(&) 或(|) 异或(^)左移(<<) : m<<n表示 把m左移n位,最左边的n位会被丢弃,同时最右边补上n个0;右移(>>):m>>n表示 把m右移n位 最右边的n为会被丢弃,如果数值原来是个正数,用0补...
2018-06-30 23:13:51 727
原创 刷题笔记
发现好多刷过的题再遇到还是不会……记得不牢固,所有准备进行分门别类,有助于记忆~这是一篇占坑目录文,后续会陆续写每个主题的具体文章~ 使用位运算的题目 二叉树相关题目 动态规划相关题目 链表相关题目 数组相关题目 队列与栈相关题目 ...
2018-06-25 11:58:46 139
原创 动态规划相关题目
一 袋鼠过河题目描述:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多...
2018-06-25 11:57:08 304
原创 逆置字符串
题目描述:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I做了好几遍了。。。还是各种错。。。服了自己import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Sc...
2018-06-20 11:16:28 279
原创 使用Partition思想的题目
突发奇想做个小总结,对刷过的题进行分门别类,更容易记忆;比如,很多问题都用到了快排中的partition函数的思想 比如: 1)在数组中找到第k大的数字 用时间复杂度O(n) 2)两个排序数组的中位数 规定时间复杂度为O(log(m+n)) ,因为时间复杂度的限制,这里就要借助寻找第k大的数的思想了 ,具体题目和代码可以参见我的另一篇博客; 3) 数组中出现次数大于一半的数字...
2018-06-19 22:18:20 438
原创 丢失的三个数
题目描述:现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。import java.util.Scanner;impo...
2018-06-14 10:32:07 173
原创 插入排序链表
问题描述:如题/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */...
2018-06-13 16:47:15 101
原创 word ladder
题目描述:Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:Only one letter can be changed at a timeEach intermediate word ...
2018-06-13 15:12:33 134
原创 两个排序数组的中位数
题目描述:There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).public class Solution { publ...
2018-06-13 15:01:56 156
原创 求数列的和
题目描述:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。结果保留小数点后两位import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasN...
2018-06-13 14:54:52 154
原创 句子反转
题目描述:给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”import java.util.Scanner;public class Main{ public static void main(String[] args){ ...
2018-06-13 14:51:27 92
原创 保留最大的数
题目描述:给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); String...
2018-06-13 14:47:44 96
原创 袋鼠过河
题目描述:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达...
2018-06-13 14:44:43 241
原创 彩色宝石项链
题目描述:有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石import...
2018-06-13 14:39:32 246
原创 网格走法数目
题目描述:有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。import java.util.Scanner; public class Main{ public static void main(String[] args){ Scann...
2018-06-13 14:34:59 201
原创 连续子数组最大和
题目描述:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); in...
2018-06-13 14:31:27 184
原创 链表中倒数第k个结点。
写在前面:此部分主要为了记录自己做题时的想法和探索的过程;先自己想 再去翻书学习和巩固;自知水平不行,只作为记录和笔记;============================================================================题目描述:输入一个链表,输出链表中倒数第K个结点方法一:/*public class ListNode { int val...
2018-03-21 16:09:30 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人