数据结构与算法:07 Leetcode同步练习(二)
目录
- 题目01:回文数
- 题目02:x 的平方根
- 题目03:爬楼梯
- 题目04:买卖股票的最佳时机
- 题目05:买卖股票的最佳时机 II
- 题目06:跳跃游戏
- 题目07:三数之和
- 题目08:最接近的三数之和
- 题目09:螺旋矩阵 II
- 题目10:不同路径
题目01:回文数
- 题号:9
- 难度:简单
- https://leetcode-cn.com/problems/palindrome-number/
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
参考代码:
- 状态:通过
- 执行用时: 76 ms, 在所有 C# 提交中击败了 98.90% 的用户
- 内存消耗: 14.9 MB, 在所有 C# 提交中击败了 85.12% 的用户
public class Solution {public bool IsPalindrome(int x) {if (x < 0)return false;int bit = 1;while (x / bit >= 10){bit = bit * 10;}while (x > 0){int left = x % 10;int right = x / bit;if (left != right){return false;}x = (x % bit) / 10;bit = bit / 100;}return true;
}
题目02:x 的平方根
- 题号:69
- 难度:简单
- https://leetcode-cn.com/problems/sqrtx/
实现 int sqrt(int x)
函数。
计算并返回x
的平方根,其中x
是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
思路:利用牛顿迭代法。
参考代码
- 状态:通过
- 执行用时: 48 ms, 在所有 C# 提交中击败了 100.00% 的用户
- 内存消耗: 13.7 MB, 在所有 C# 提交中击败了 5.40% 的用户
public class Solution {public int MySqrt(int x) {if (x < 0)throw new ArgumentOutOfRangeException();double error = 1.0e-5;double cur = x;while (Math.Abs(cur*cur - x) > error){cur = (cur + 1.0*x/cur)/2.0;}return (int)cur; }
}
题目03:爬楼梯
- 题号:70
- 难度:简单
- https://leetcode-cn.com/problems/climbing-stairs/
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例 1:
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶
示例 2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1. 1 阶 + 1 阶 + 1 阶
2. 1 阶 + 2 阶
3. 2 阶 + 1 阶
示例 3:
输入: 44
输出: 1134903170
思路:利用循环
分析这个题目:
- 1 阶,f(1) = 1 种方案
- 2 阶,f(2) = 2 种方案
- 3 阶,f(3) = 3 种方案
- 4 阶,f(4) = 5 种方案
- ……
- n 阶,f(n) = f(n-1) + f(n-2) 种方案
即,该问题可以转换为斐波那契数列问题。
参考代码:
- 状态:通过
- 执行用时: 52 ms, 在所有 C# 提交中击败了 97.87% 的用户
- 内存消耗: 13.7 MB, 在所有 C# 提交中击败了 5.98% 的用户
public class Solution {public int ClimbStairs(int n) {if (n <= 2)return n;int first = 1;int second = 2;int result = 0;for (int i = 3; i <= n; i++){result = first + second;first = second;second = result;}return result; }
}
题目04:买卖股票的最佳时机
- 题号:121
- 难度:简单
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例 1:
输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
示例 2:
输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
思路:如果今天把股票卖掉能够赚最多钱的最大值,即为最大利润。
参考代码:
- 状态:通过
- 执行用时: 132 ms, 在所有 C# 提交中击败了 97.33% 的用户
- 内存消耗: 24 MB, 在所有 C# 提交中击败了 5.62% 的用户
public class Solution
{public int MaxProfit(int[] prices){if (prices.Length <= 1)return 0;int min = prices[0];int max = 0;for (int i = 1; i < prices.Length; i++){int earn = prices[i] - min;if (earn > max){max = earn;}if (prices[i] < min){min = prices[i];}}return max;}
}
题目05:买卖股票的最佳时机 II
- 题号:122
- 难度:简单
- https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例 1:
输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2:
输入: [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
示例 3:
输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
思路:贪心算法
贪心策略:只要后一天价格比前一天高,就在前一天买进后一天卖出。
参考代码:
- 状态:通过
- 执行用时: 140 ms, 在所有 C# 提交中击败了 72.02% 的用户
- 内存消耗: 24.2 MB, 在所有 C# 提交中击败了 5.36% 的用户
public class Solution
{public int MaxProfit(int[] prices){int earn = 0;for (int i = 0; i < prices.Length-1; i++){earn += Math.Max(prices[i + 1] - prices[i], 0);}return earn;}
}
题目06:跳跃游戏
- 题号:55
- 难度:中等
- https://leetcode-cn.com/problems/jump-game/
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3
步到达最后一个位置。
示例 2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0,
所以你永远不可能到达最后一个位置。
示例 3:
输入:[0]
输出:true
思路:贪心算法
贪心策略:每次记录能跳到点的最大值,如果当前点超出最大值,返回false,如果最大值达到最后一个位置,返回true。
参考代码:
- 执行结果:通过
- 执行用时:120 ms, 在所有 C# 提交中击败了 57.32% 的用户
- 内存消耗:26.2 MB, 在所有 C# 提交中击败了 6.67% 的用户
public class Solution
{public bool CanJump(int[] nums){int maxlength = 0; //记录所能到达的最远点for (int i = 0; maxlength < nums.Length-1; i++){if (i > maxlength){return false;//若此点已不能到达,返回false }maxlength = Math.Max(i + nums[i], maxlength);}return true;}
}
题目07:三数之和
- 题号:15
- 难度:中等
- https://leetcode-cn.com/problems/3sum/
给定一个包含n
个整数的数组nums
,判断nums
中是否存在三个元素a,b,c
,使得a + b + c = 0
?找出所有满足条件且不重复的三元组。
注意:答案中不可以包含重复的三元组。
示例:
给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:
[[-1, 0, 1],[-1, -1, 2]
]
思路:利用 排序 + 三索引 的方法。
为了避免三次循环,提升执行效率。首先,对nums
进行排序。然后,固定3个索引i,l(left),r(right)
,i
进行最外层循环,l
指向nums[i]
之后数组的最小值,r
指向nums[i]
之后数组的最大值。模仿快速排序的思路,如果nums[i] > 0
就不需要继续计算了,否则计算nums[i] + nums[l] + nums[r]
是否等于零并进行相应的处理。如果大于零,向l
方向移动r
指针,如果小于零,向r
方向移动l
索引,如果等于零,则加入到存储最后结果的result链表中。当然,题目中要求这个三元组不可重复,所以在进行的过程中加入去重就好。
参考代码:
- 执行结果:通过
- 执行用时:348 ms, 在所有 C# 提交中击败了 99.54% 的用户
- 内存消耗:35.8 MB, 在所有 C# 提交中击败了 6.63% 的用户
public class Solution
{public IList<IList<int>> ThreeSum(int[] nums) {IList<IList<int>> result = new List<IList<int>>();nums = nums.OrderBy(a => a).ToArray();int len = nums.Length;for (int i = 0; i < len - 2; i++){if (nums[i] > 0) break; // 如果最小的数字大于0, 后面的操作已经没有意义if (i > 0 && nums[i - 1] == nums[i])continue; // 跳过三元组中第一个元素的重复数据int l = i + 1;int r = len - 1;while (l < r){int sum = nums[i] + nums[l] + nums[r];if (sum < 0){l++;}else if (sum > 0){r--;}else{result.Add(new List<int>() {nums[i], nums[l], nums[r]});// 跳过三元组中第二个元素的重复数据while (l < r && nums[l] == nums[l + 1]) {l++;}// 跳过三元组中第三个元素的重复数据while (l < r && nums[r - 1] == nums[r]) {r--;}l++;r--;}}}return result; }
}
题目08:最接近的三数之和
- 题号:16
- 难度:中等
- https://leetcode-cn.com/problems/3sum-closest/
给定一个包括n
个整数的数组nums
和一个目标值target
。找出nums
中的三个整数,使得它们的和与target
最接近。返回这三个数的和。假定每组输入只存在唯一答案。
示例 :
例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.
与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).
思路:利用 排序 + 三索引 的方法
参考代码:
- 状态:通过
- 执行用时: 132 ms, 在所有 C# 提交中击败了 100.00% 的用户
- 内存消耗: 24 MB, 在所有 C# 提交中击败了 5.55% 的用户
public class Solution
{public int ThreeSumClosest(int[] nums, int target) {nums = nums.OrderBy(a => a).ToArray();int result = nums[0] + nums[1] + nums[2];for (int i = 0; i < nums.Length - 2; i++){int start = i + 1, end = nums.Length - 1;while (start < end){int sum = nums[start] + nums[end] + nums[i];if (Math.Abs(target - sum) < Math.Abs(target - result))result = sum;if (sum > target)end--;else if (sum < target)start++;elsereturn result;}}return result; }
}
题目09:螺旋矩阵 II
- 题号:59
- 难度:中等
- https://leetcode-cn.com/problems/spiral-matrix-ii/
给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]
]
参考代码:
- 状态:通过
- 执行用时: 296 ms, 在所有 C# 提交中击败了 97.67% 的用户
- 内存消耗: 25 MB, 在所有 C# 提交中击败了 11.11% 的用户
public class Solution
{public int[][] GenerateMatrix(int n){int[][] matrix = new int[n][];for (int i = 0; i < n; i++){matrix[i] = new int[n];}int start = 0;//起始位置int end1 = n - 1;//最左边位置int end2 = n - 1;//最下边位置int count = 1;while (start < end1 && start < end2){LeftToRight(start, end1, start, matrix, ref count);TopToBottom(start + 1, end2, end1, matrix, ref count);RightToLeft(end1 - 1, start, end2, matrix, ref count);BottomToTop(end2 - 1, start + 1, start, matrix, ref count);start++;end1 = n - 1 - start;end2 = n - 1 - start;}if (n%2 == 1){matrix[start][start] = count;}return matrix;}private void LeftToRight(int start, int end, int rowIndex, int[][] matrix, ref int from){for (int i = start; i <= end; i++){matrix[rowIndex][i] = from;from++;}}private void TopToBottom(int start, int end, int colIndex, int[][] matrix, ref int from){for (int i = start; i <= end; i++){matrix[i][colIndex] = from;from++;}}private void RightToLeft(int start, int end, int rowIndex, int[][] matrix, ref int from){for (int i = start; i >= end; i--){matrix[rowIndex][i] = from;from++;}}private void BottomToTop(int start, int end, int colIndex, int[][] matrix, ref int from){for (int i = start; i >= end; i--){matrix[i][colIndex] = from;from++;}}
}
题目10:不同路径
- 题号:62
- 难度:中等
- https://leetcode-cn.com/problems/unique-paths/
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
问总共有多少条不同的路径?
例如,上图是一个7 x 3 的网格。有多少可能的路径?
说明:m 和 n 的值均不超过 100。
示例 1:
输入: m = 3, n = 2
输出: 3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右
示例 2:
输入: m = 7, n = 3
输出: 28
示例 3:
输入: m = 23, n = 12
输出: 193536720
思路:利用动态规划。
动态规划表格01:
动态规划表格02:
动态规划的最优子结构为:d[i,j] = d[i-1,j] + d[i,j-1]
- 状态:通过
- 62 / 62 个通过测试用例
- 执行用时: 52 ms, 在所有 C# 提交中击败了 93.18% 的用户
- 内存消耗: 13.6 MB, 在所有 C# 提交中击败了 17.65% 的用户
public class Solution
{public int UniquePaths(int m, int n){int[,] memo = new int[m, n];for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){if (i == 0){memo[i, j] = 1;}else if (j == 0){memo[i, j] = 1;}else{memo[i, j] = memo[i - 1, j] + memo[i, j - 1];}}}return memo[m - 1, n - 1];}
}
后台回复「搜搜搜」,随机获取电子资源!
欢迎关注,请扫描二维码:
相关文章:

(五)Docker镜像和容器
之所以在之前没有讲什么是镜像和容器是因为如果你没有一个最初的认识,那么你就很难理解镜像和容器以及它们的区别。我相信在前面一章中的讲述中,你应该稍有体会容器是基于镜像构建的,同时构建了容器之后如果不删除就会一直存在,而…

翻译-高质量JavaScript代码书写基本要点(转载)
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p1173 原文作者:Stoyan Stefanov原文链接:The Essentials of Writing High Quality JavaScript 翻译编辑:张鑫旭//zxx: 俗不可耐的…

学习ui设计的流程是什么
UI设计在如今的市场行情中是很多企业都必不可少的一个技术岗位,UI设计是比较注重自身产品的用户体验的,想要学习UI设计,一定要做足功课,下面小编就为大家详细的介绍一下学习ui设计的流程是什么? 学习ui设计的流程是什么?总体进程…
数据结构与算法:08 Leetcode同步练习(三)
目录 题目01:合并两个有序链表题目02:删除排序链表中的重复元素题目03:环形链表题目04:反转链表题目05:删除链表中的节点题目06:两数相加题目07:删除链表的倒数第N个节点题目08:两两…

Linux之进程管理
程序是保存在外部存储设备(如硬盘)中的可执行机器代码和数据的集合。而进程是在CPU及内存中处于动态执行状态的计算机程序。每个程序启动后会产生一个或多个进程,如httpd程序,当有大量用户访问Web页面时,httpd程序会产…

win8 metro 拖拽重排grid
0.1 http://1.metrowin8.sinaapp.com/Code/index.html 拖拽重排实现思路 : 1.初始化拖拽对象时,上传拖拽对象中心点信息(包括id,className) 2.鼠标按下时,制造一个假的拖拽对象 3.鼠标放开时,计算鼠标与拖拽对象中心点的距离&…

什么是AngularJS?它有哪些特性?
AngulaJS是款非常优秀的JasSetpsn结构化框架,可以用来构建单页面应用程序,2009年,AngularJS由Misko Hevery等人创建,后来被Google收购,该技术已经被用于Coogle旗下的多款产品开发当中。开发人员不仅可以使用和扩展HTML语言的特性。而且可以更…

ELK安装文档及相关优化
前言:随着硬件成本的不断低廉,我们可以存储更多数据内容,也会对各数据加以利用,其中一项很重要的数据内容便是日志文件,无论是访问日志还是系统日志或是应用日志,都显得十分重要,而怎么加以利用…

数据结构与算法:09 栈与递归
09 栈与递归 知识结构: 栈是我们经常使用的一种数据结构,比如,手枪发射子弹的顺序与子弹压入弹夹的顺序是相反,即后压入弹夹的子弹先发射出来。又比如,我们使用的Word、Excel、Photoshop等软件系统中的撤销操作&#…

Javascript匿名函数
定义 匿名函数的定义非常简单:就是没有名字的函数。但是其用途非常的大 典型的函数定义方式 在看匿名函数之前我们先看下在Javascript中定义一个函数比较典型的几种方式 函数声明 function functionName(args) { //函数体 } 函数表达式 var functionName functi…

零基础学Java大数据难不难
java大数据如今在企业中用到的次数是非常多的,很多人都比较看好java技术,那么零基础学Java大数据难不难?想要学习java技术说难不难,说简单也不是很简单,来看看下面的详细介绍就知道了。 零基础学Java大数据难不难?因人而异&…

技术图文:01 面向对象设计原则
01 面向对象设计原则 知识结构: 一碟开胃的小菜 小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位。当投递了无数简历后,终于收到了一个单位的面试…

关于GridView手动绑定的一段代码,一切尽在不言中
为GridView绑定主键的方法,在前台的DataGrid标签中加 DataKeyNames"ID" 后台获取ID: int idint.parse(this.GridView.DataKeys[e.RowIndex].Value.Tostring()); 如果DataKeyNames绑定了多个列取法:int idint.parse(this.G…

linux 服务器FTP服务安装教程
1.更新yum源 首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm0.0.0.0.zJ3dBU&helpId1692 2.安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 3.添加ftp帐号和目录 先检查一下nologin的位置,通常在…

CSS3颜色不透明度如何设置
web前端技术包含HTML和CSS样式,两者是相辅相成的,学习CSS样式不必可少,那么在学习CSS样式中,CSS3颜色不透明度如何设置?在CSS3之前,我们设置颜色的方式包含十六进制颜色(如#F00)、rgb模式颜色、或指定颜色的英文名称(…

技术图文:02 创建型设计模式(上)
创建型设计模式(上) 知识结构: 图1 知识结构 简单工厂模式 Sunny 软件公司欲基于 C# 语言开发一套图表库,该图表库可以为应用系统提供各种不同外观的图表,如: 柱状图(histogram)饼…

转:初探 jQuery 的 Sizzle 选择器
这是一篇关于介绍jQuery Sizzle选择器的文章,由我和obility共同完成。在文中,我们试图用自己的语言配以适量的代码向读者展现出Sizzle在处理选择符时的流程原理,以及末了以少许文字给你展示出如何借用Sizzle之手实现自定义选择器(…

安装hadoop图文
1.下载hadoop-2.5.1,存放根目录 2.通过tar -zxvf 包名 来进行解压 3.通过mv命令将解压后的hadoop包移动到/home下 4.修改hadoop-en.sh配置文件,添加jdk的安装目录,操作如下图所示 5.修改core-site.xml配置文件,添加namenode的配置信息 6.修改hdfs-site.xml配置文件,添加seconda…

Java中父类方法重写有哪些需要注意的?
在继承关系中,子类会自动继承父类中公共的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。需要注意的是,子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。 在上一节…

技术图文:02 创建型设计模式(下)
创建型设计模式(下) 知识结构: 图1 知识结构 单例模式 – 确保对象的唯一性 Sunny 软件公司承接了一个服务器负载均衡软件的开发工作,该软件运行在一台负载均衡服务器上,可以将并发访问和数据流量分发到服务器集群中…

[转载]C# 二进制与十进制,十进制与十六进制相互转换
原文地址:C# 二进制与十进制,十进制与十六进制相互转换作者:tonytonglx十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302302/2 151 余0151/2 75 余175/2 37 余137/2 18 余118/2 9 余09/2 4 余14/2 …

感知哈希算法——找出相似的图片
参考Neal Krawetz博士的这篇文章, 实现这种功能的关键技术叫做"感知哈希算法"(Perceptual Hash Algorithm), 意思是为图片生成一个指纹(字符串格式), 两张图片的指纹越相似, 说明两张图片就越相似. 但关键是如何根据图片计算出"指纹"呢? 下面用最简单的步…

学web前端需要了解哪些常识
想要学好web前端技术,那么一定要掌握足够的知识,web前端技术包含很多方面的知识,具体学web前端需要了解哪些常识?来看看下面的详细介绍。 学web前端需要了解哪些常识? html css javascript。 要学的内容实在很多,如果没有其他编…

linux下后台执行shell脚本
一句话 nohup sh startup_Server.sh & 转载于:https://www.cnblogs.com/phpcode/archive/2012/04/24/2522761.html

线性代数:第一章 线性方程组
本讲义是自己上课所用幻灯片,里面没有详细的推导过程(笔者板书推导)只以大纲的方式来展示课上的内容,以方便大家下来复习。 从本章开始,我们一起来学习线性代数的有关知识,线性代数的应用之一就是求解复杂…

菜鸟也来学习ORACLE(1)_linux下安装oracle 11g
加入 oracle Club 之前,学长给我们开了个小会 说是看看我们加入的意愿,哎哎 其实直无聊,但是大体比较重视linux 服务器的搭建 以及在linux 下安装oracle 搭建一个oracle 环境吧、我就想这东西能有多难,于是回来就搭建起了&#x…

CSS浮动元素特点有什么
什么是浮动? 元素的浮动是指设置了浮动属性(flot)的元素。 CSS浮动有什么作用? 1.让多个盒子水平排列成一行,浮动成为布局的重要手段; 2.可以实现盒子的左右对齐等等; 3.浮动最早是用来控制图片,实现文字环绕图片的效果。 CSS浮动的语法: 选…

数据结构与算法:11 Leetcode同步练习(四)
目录 题目01:最小栈题目02:有效的括号题目03:用队列实现栈题目04:整数反转题目05:逆波兰表达式求值题目06:全排列题目07:字符串转换整数 (atoi)题目08:设计循环双端队列题目09&…
trie树 详解
前几天学习了并查集和trie树,这里总结一下trie。 本文讨论一棵最简单的trie树,基于英文26个字母组成的字符串,讨论插入字符串、判断前缀是否存在、查找字符串等基本操作;至于trie树的删除单个节点实在是少见,故在此…

启动hadoop的节点
1.启动hadoop的节点 start-dfs.sh 本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1959242