LeetCode入门指南 之 排序】的更多相关文章

912. 排序数组 给你一个整数数组 nums,请你将该数组升序排列. 归并排序 public class Sort { //归并排序 public static int[] MergeSort(int[] arr) { int[] temp = new int[arr.length]; mergeSort(arr, 0, arr.length - 1, temp); return arr; } private static void mergeSort(int[] arr, int left,…
83. 删除排序链表中的重复元素 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 .返回同样按升序排列的结果链表. class Solution { public ListNode deleteDuplicates(ListNode head) { if (head == null) { return head; } //删除重复元素但保留一个的情况下头结点不可能被删除,故不需要哑结点 ListNode cur = head; /**…
模板 result = {} void backtrack(选择列表, 路径) { if (满足结束条件) { result.add(路径) return } for 选择 in 选择列表 { 做选择 backtrack(选择列表,路径) 撤销选择 } } 核心就是从选择列表里做一个选择,然后一直递归往下搜索答案,如果遇到路径不通,就返回来撤销这次选择. 推荐阅读:回溯思想团灭排列.组合.子集问题 78. 子集 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂…
上图表示常用的二分查找模板: 第一种是最基础的,查找区间左右都为闭区间,比较后若不等,剩余区间都不会再包含mid:一般在不需要确定目标值的边界时,用此法即可. 第二种查找区间为左闭右开,要确定target左边界时,若nums[mid] == target,取right = mid: int left = 0; int right = arr.length; //注意 while (left < right) { //注意 //相比 mid = (left + right) / 2的写法可以防止越…
二叉树的遍历 递归: void traverse (TreeNode root) { if (root == null) { return null; } //前序遍历位置 traverse(root.left); //中序遍历位置 traverse(root.right); //后序遍历位置 } 144. 二叉树的前序遍历 前序非递归: public static List<Integer> preOrder(TreeNode root) { if (root == null) { retu…
栈 155. 最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素. getMin() -- 检索栈中的最小元素. class MinStack { /** initialize your data structure here. */ private Deque<integer> stack; // 额外用一个栈存储最小值 private…
推荐学习labuladong大佬的动态规划系列文章:先弄明白什么是动态规划即可,不必一次看完.接着尝试自己做,没有思路了再回过头看相应的文章. 动态规划一般可以由 递归 + 备忘录 一步步转换而来,不必被名字唬住.通常只要找到状态转移方程问题就解决了一大半,至于状态的选择只要题目做多了自然就会形成经验,通常是问什么就设什么为状态. 常见四种类型 Matrix DP (10%) Sequence (40%) Two Sequences DP (40%) Backpack (10%) 注意: 贪心算…
英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs.com/13yan/p/5685307.html 入门指南 Fluent NHibernate 概述 Fluent NHibernate 提供一个替代 NHibernate 的标准 XML 映射文件的方法.而不是编写 XML 文档 (.hbm.xml 文件),Fluent NHibernate 可…
在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这是我的理解,因为可视化的手段非常丰富,在面对大量的数据和模型,如何从中提取重要的关系,发现重要的数据趋势,并来指导生产和业务开展,这个才是体现数据价值的地方.可视化虽然很简单,但过程非常体现你对业务的理解和发现问题的思路,并不是一个拖动图表的过程.这一块内容非常多,以后有机会再根据实际案例来一步步掌…
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td { padding: 8px; line-height: 1.42857143; vertic…