撸代码笔记
莫妮卡啊
笨鸟先飞 天道酬勤
展开
-
连续子数组最大和
题目描述:一个数组有 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 · 177 阅读 · 0 评论 -
刷题笔记
发现好多刷过的题再遇到还是不会……记得不牢固,所有准备进行分门别类,有助于记忆~这是一篇占坑目录文,后续会陆续写每个主题的具体文章~ 使用位运算的题目 二叉树相关题目 动态规划相关题目 链表相关题目 数组相关题目 队列与栈相关题目 ...原创 2018-06-25 11:58:46 · 129 阅读 · 0 评论 -
构造队列(一道有趣的题)
题目描述:小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:while(!Q.empty()) //队列不空,执行循环{ int x=Q.front(); //取出当前队头的值x Q.pop(); //弹出当前队头 Q.push(x); ...原创 2018-07-01 22:45:44 · 316 阅读 · 0 评论 -
逆置字符串
题目描述:将一句话的单词进行倒置,标点不倒置。比如 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 · 270 阅读 · 0 评论 -
进制均值
题目描述:尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,。 小B感兴趣的是,一...原创 2018-07-02 16:50:07 · 199 阅读 · 0 评论 -
月饼最大收益
题目描述:月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、 72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第...原创 2018-07-02 20:33:56 · 232 阅读 · 0 评论 -
【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 · 208 阅读 · 0 评论 -
【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 · 425 阅读 · 0 评论 -
【Leetcode】Word Ladder
题目描述:给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 endWord ...原创 2018-07-11 15:45:12 · 2528 阅读 · 0 评论 -
【网易真题】牛牛找工作
哎 一时兴起做了一套网易真题,发现不会的不止一点点哎 赶紧学习吧题目描述:链接:https://www.nowcoder.com/questionTerminal/5e1b251c90ba4e6982cb349076ed4449来源:牛客网为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛...原创 2018-07-05 14:19:18 · 216 阅读 · 0 评论 -
【网易真题】数对
心塞塞,一做题发现自己有多菜……题目描述:链接:https://www.nowcoder.com/questionTerminal/32d1c4f18d144b6e9eb1e13481f717c5来源:牛客网牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。牛牛希望你能帮他计算一共有多少个可能的...原创 2018-07-05 23:20:44 · 1228 阅读 · 1 评论 -
二叉树相关题目
题目一: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 · 147 阅读 · 0 评论 -
求最大公约数
题目描述如题啥也不说了 直接上代码了 思路注释里都写了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 · 182 阅读 · 0 评论 -
最长公共子序列、最长公共子串、连续数组最大和、最长上升子序列
总结几个容易混淆的问题问题一:连续数组的最大和问题描述:输入一个整型数组,数组中有正数有负数。数组中的一个或多个正数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为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 · 508 阅读 · 0 评论 -
使用Partition思想的题目
突发奇想做个小总结,对刷过的题进行分门别类,更容易记忆;比如,很多问题都用到了快排中的partition函数的思想 比如: 1)在数组中找到第k大的数字 用时间复杂度O(n) 2)两个排序数组的中位数 规定时间复杂度为O(log(m+n)) ,因为时间复杂度的限制,这里就要借助寻找第k大的数的思想了 ,具体题目和代码可以参见我的另一篇博客; 3) 数组中出现次数大于一半的数字...原创 2018-06-19 22:18:20 · 429 阅读 · 0 评论 -
阶乘相关的题目
题目一:给定一个整数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 · 1941 阅读 · 0 评论 -
网格走法数目
题目描述:有一个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 · 193 阅读 · 0 评论 -
彩色宝石项链
题目描述:有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石import...原创 2018-06-13 14:39:32 · 230 阅读 · 0 评论 -
链表中倒数第k个结点。
写在前面:此部分主要为了记录自己做题时的想法和探索的过程;先自己想 再去翻书学习和巩固;自知水平不行,只作为记录和笔记;============================================================================题目描述:输入一个链表,输出链表中倒数第K个结点方法一:/*public class ListNode { int val...原创 2018-03-21 16:09:30 · 177 阅读 · 0 评论 -
袋鼠过河
题目描述:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达...原创 2018-06-13 14:44:43 · 220 阅读 · 0 评论 -
保留最大的数
题目描述:给定一个十进制的正整数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 · 90 阅读 · 0 评论 -
句子反转
题目描述:给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (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 · 83 阅读 · 0 评论 -
求数列的和
题目描述:数列的第一项为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 · 145 阅读 · 0 评论 -
两个排序数组的中位数
题目描述: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 · 150 阅读 · 0 评论 -
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 · 126 阅读 · 0 评论 -
插入排序链表
问题描述:如题/** * 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 · 95 阅读 · 0 评论 -
丢失的三个数
题目描述:现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。import java.util.Scanner;impo...原创 2018-06-14 10:32:07 · 167 阅读 · 0 评论 -
动态规划相关题目
一 袋鼠过河题目描述:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多...原创 2018-06-25 11:57:08 · 288 阅读 · 0 评论 -
位运算相关题目
面试中会遇到很多与位运算相关的题目,在这里对位运算的相关知识点和遇到的一些题目总结一下。二进制的5种位运算:与(&) 或(|) 异或(^)左移(<<) : m<<n表示 把m左移n位,最左边的n位会被丢弃,同时最右边补上n个0;右移(>>):m>>n表示 把m右移n位 最右边的n为会被丢弃,如果数值原来是个正数,用0补...原创 2018-06-30 23:13:51 · 715 阅读 · 0 评论 -
回溯相关题目
一:排列问题题目描述: 二:组合问题题目描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: can...原创 2018-08-23 20:09:33 · 334 阅读 · 0 评论