![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 算法
Thatcher学计算机
因为喜欢,所以一个人也应该有力量。不奢求大的进步,只想每一天都有小小的进步
展开
-
749. 约翰的后花园
蓝桥杯备赛 (LintCode上刷的第一题)749 约翰的后花园准备蓝桥杯大赛已经有很长一段时间了。一直在努力的学习算法,不过之前都是看别人的思路和代码,从来没有自己独自一个人从头到尾的做完一道题。所以即使今天花了三个小时,做完了这道难度系数最简单的动态规划的题目。仍然仍然非常非常有成就感!!!第一步的跨越是最难的,也是最有成就感的!!!问题描述约翰想在他家后面的空地上建一个后花园,现在...原创 2018-11-10 23:43:49 · 360 阅读 · 3 评论 -
1263. 是子序列吗?
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第十二题)问题描述给定字符串s和t,判断s是否为t的子序列。你可以认为在s和t中都只包含小写字母。t可能是一个非常长(length ~= 500,000)的字符串,而s是一个较短的字符串(length <= 100)。一个字符串的子序列是在原字符串中删去一些字符(也可以不删除)后,不改变剩余字符的相对位置...原创 2018-11-15 07:52:53 · 327 阅读 · 0 评论 -
785. 最大权值和路径
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第15题)发现写博客原来还是需要一定时间的。很多时候做出来了,都没时间写进自己的博客记录一下。问题描述有一个机器人位于一个 m × n 个网格的右上角。机器人每一时刻只能向下或者向左移动一步。机器人试图达到网格的左下角。每个网格上有一个数字权值,机器人希望它走到左下角的路径权值和最大。问这个最大路径权值和是多...原创 2018-11-28 09:40:02 · 461 阅读 · 0 评论 -
设计有setAll功能的哈希表
最近一段时间太忙了,导致即使刷过的题也没能计时放在博客上!一定要每天都写都记录!题目哈希表常见的三个操作时put、get和containsKey,而且这三个操作的时间复杂度为O(1)。现在想加一个setAll功能,就是把所有记录的value值设成统一的值。请设计并实现这种有setAll功能的哈希表,并且put、get、containsKey和setAll四个操作的时间复杂度都为O(1)。问...翻译 2018-12-12 11:28:31 · 214 阅读 · 0 评论 -
一行代码求两个数的最大公约数
题目给定两个不等于0的整数M和N,求M和N的最大公约数。问题分析辗转相除法JAVA代码实现package otherquestions;public class Gcd1209 { /** * 一行代码求两个数的最大公约数 * @param m 第一个数 * @param n 第二个数 * @return 最大公约数 */ public ...翻译 2018-12-12 11:34:41 · 180 阅读 · 0 评论 -
判断一个点是否在矩形内部
题目在二维坐标系中,所有的值都是double类型,那么一个矩形可以有4个点来代表,(x1,y1)为最左的点,(x2,y2)为最上的点,(x3,y3)为最下的点,(x4,y4)为最右的点。给定4个点代表的矩形,再给定一个点(x,y),判断(x,y)是否在矩形中。问题分析1.如果矩形的边平行于x轴或者平行于y轴2.矩形的边并不平行于x轴或者y轴JAVA代码实现package otherqu...翻译 2018-12-12 11:45:02 · 1653 阅读 · 0 评论 -
判断一个点是否在三角形内部
题目在二维坐标系中,所有的值都是double类型,那么一个三角形可以由3个点来代笔,给定3个点代表的三角形,在给定一个点(x,y),判断(x,y)是否在三角形中。问题分析1.根据面积求解如果O点在三角形内部,则面积ABC=面积ABO+面积BCO+面积CAO如果O点在三角形外部,则面积ABC<面积ABO+面积BCO+面积CAO2.逆时针绕三角形走一圈,如果O点在三角形内部,则O始终...翻译 2018-12-12 11:56:33 · 515 阅读 · 0 评论 -
设计可以变更的缓存结构
题目设计一种缓存结构,该结构在构造时确定大小,假设大小为K,并由两个功能:set(key,value):将记录(key,value)插入该结构get(key):返回key对应的value值要求1.set和get方法的时间复杂度O(1)。2.某个key的set或get操作一旦发生,认为这个key的记录成了最经常使用的。3.当缓存的大小超过K时,移除最不经常使用的记录,即set或ge...翻译 2018-12-19 10:18:54 · 164 阅读 · 0 评论 -
480. 二叉树的所有路径
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第16题)问题描述给一棵二叉树,找出从根节点到叶子节点的所有路径。样例输出JAVA代码实现一共有两种方法,一种是分治法,另一种是遍历的方法。package tree;import java.util.ArrayList;import java.util.List;public class Bin...原创 2018-12-30 13:37:20 · 212 阅读 · 0 评论 -
1279. 计算不同数字整数的个数
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第十一题)问题描述给定非负整数n,计算具有不同数字字符的所有整数,其中0≤x<10 ^ n。样例输出给定n =2,返回91。答案应该是0≤x<100范围内的总数,除去[11,22,33,44,55,66,77,88,99]问题分析所有的思想都在代码里面啦!JAVA代码实现package D...原创 2018-11-15 07:47:31 · 598 阅读 · 0 评论 -
1284. 整数拆分
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第十三题)由于最近考试,很多东西都来不及更新都是最近才更新的!You have to be equivalent to what you want to do!问题描述给定一个正整数 n ,将其拆分成至少两个正整数之和,并且使这些整数之积最大。返回这个最大乘积。你可以认为 n 不小于 2 ,并且不大于 58!...原创 2018-11-16 19:47:40 · 162 阅读 · 0 评论 -
397. 最长上升连续子序列
蓝桥杯备赛 (LintCode上刷的第二题)397. 最长上升连续子序列问题描述给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)样例输出给定 [5, 4, 2, 1, 3], 其最长上升连续子序列(LICS)为 [5, 4, 2, 1], 返回 4.给定 [5, 1, 2...原创 2018-11-11 17:09:14 · 668 阅读 · 0 评论 -
514. 栅栏染色
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第三题)问题描述我们有一个栅栏,它有n个柱子,现在要给柱子染色,有k种颜色可以染。必须保证不存在超过2个相邻的柱子颜色相同,求有多少种染色方案。样例输出n = 3, k = 2, return 6问题分析最开始,我想用动态数组保存每一种方案的第i根柱子的颜色。后来发现这样数据量太大,而且记录也很困难。最...原创 2018-11-14 19:43:20 · 227 阅读 · 0 评论 -
943. Range Sum Query - Immutable
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第四题)问题描述Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.样例输出问题分析这道题太简单了,纯粹是为了记录我的学习,才写这篇博客的。当然我的代码还有...原创 2018-11-14 20:30:28 · 150 阅读 · 0 评论 -
114. 不同的路径
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第五题)问题描述有一个机器人的位于一个 m × n 个网格左上角。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。问有多少条不同的路径?m和n不超过100!样例输出给出 m = 3 和 n = 3, 返回 6.给出 m = 4 和 n = 5, 返回 35.问题分析JAVA实现代...原创 2018-11-14 21:07:09 · 161 阅读 · 0 评论 -
115. 不同的路径 II
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第六题)问题描述“114. 不同的路径” 的跟进问题:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用 1 和 0 来表示。m和n不超过100!样例输出如下所示在3x3的网格中有一个障碍物:问题分析JAVA实现代码package DP;public class D...原创 2018-11-14 21:10:39 · 182 阅读 · 0 评论 -
111. 爬楼梯
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第七题)问题描述假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例输出比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法问题分析JAVA实现代码package DP;public class Upstairs111_1113 {...原创 2018-11-14 21:13:37 · 186 阅读 · 0 评论 -
110. 最小路径和
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第八题)问题描述给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。你在同一时间只能向下或者向右移动一步!问题分析是一个典型的最短路径问题,思想都是一样的。此次代码参考了《程序员代码面试指南 IT名企算法与数据结构题目最优解》这本书,所以是很优化的代码。采用一维数组记录从起点到...原创 2018-11-14 23:18:56 · 159 阅读 · 0 评论 -
1000. 买卖股票的最佳时机含手续费
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第十四题)问题描述现在给出一个数组,包含一系列价格,其中第i个元素是一支股票在第i天的价格;一个非负数fee代表了手续费。你可以根据需要任意地进行交易,但是每次交易都必须付手续费。每次购买不能超过1股(必须在再次购买的之前卖出股票)。返回可以获得的最大利润。注意:0 < prices.length &l...原创 2018-11-20 23:26:57 · 309 阅读 · 2 评论 -
71. 二叉树的锯齿形层次遍历
从物理学到计算机,再到硬件,再到人工智能!蓝桥杯备赛 (LintCode上刷的第17题)问题描述给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行)样例输出JAVA代码实现package tree;import java.util.ArrayList;import java.util.List;import java.util.St...原创 2018-12-30 14:17:19 · 242 阅读 · 1 评论