11 2020 档案

摘要:##前言 493. 翻转对 ##第一次思考 当我看完题目,顿觉好像有点思路了,又看了看难度:hard,有点震惊,这不是可以用哈希表做么? 当我想用哈希表时,想到键值的问题:key放什么,value放什么。 初步思考觉得key可以为值,value为下标,但是看了第一个示例又打消了念头。(第一个示例有两 阅读全文
posted @ 2020-11-28 14:41 acchris 阅读(65) 评论(0) 推荐(0)
摘要:###前言 本文摘自labuladong 435. 无重复区间 452.用最少数量的箭引爆气球 ###435. 无重复区间 经典的贪心算法问题 Interval Scheduling(区间调度问题)。给你很多形如 [start, end] 的闭区间,请你设计一个算法,算出这些区间中最多有几个互不相交 阅读全文
posted @ 2020-11-22 20:52 acchris 阅读(484) 评论(0) 推荐(0)
摘要:##贪心算法 在遇到了5606. 具有给定数值的最小字符串这道题,我开始认识到贪心算法的特殊之处:它是动态规划的一个特例,使用贪心算法需要满足更多的条件(贪心选择性质),但是它的效率要比动态规划高。 由于没接触过,也没有系统地学习,所以在此列出此题,以便复阅。 原题链接 ###JAVA 思路 先创建 阅读全文
posted @ 2020-11-22 13:46 acchris 阅读(97) 评论(0) 推荐(0)
摘要:##找链表的中点 使用快慢指针,快指针每次移动2步,慢指针每次移动1步。当快指针到达链表结尾时,慢指针所在位置即是中点。 ##合并两个有序链表 leetcode 21.合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1 阅读全文
posted @ 2020-11-21 13:05 acchris 阅读(116) 评论(0) 推荐(0)
摘要:##String String:字符串常量,字符串长度不可变。 ##StringBuffer StringBuffer:字符串变量(synchronize,即线程安全)。 使用前调用java.lang.StringBuffer StringBuffer的主要操作:append()和insert()方 阅读全文
posted @ 2020-11-19 11:27 acchris 阅读(87) 评论(0) 推荐(0)
摘要:###前提 以下ret为数组 ###JAVA Arrays.sort(ret,new Comparator<int[]>(){ public int compare(int[] a,int[] b){ return Math.abs(a[0] - r0) + Math.abs(a[1] - c0) 阅读全文
posted @ 2020-11-17 21:10 acchris 阅读(123) 评论(0) 推荐(0)
摘要:###特殊的数据结构HashSet HashSet实现了Set接口,无序,是由HashMap实现的元素不可重复的集合。 ###运用HashSet 这里引入力扣的3.无重复字符的最长子串,HashSet在此题中完美地运用上了。 原题要找出无重复字符的最长子串,记录其长度并返回。 对于解法,我的认识是用 阅读全文
posted @ 2020-11-14 00:08 acchris 阅读(533) 评论(0) 推荐(0)
摘要:总结 JAVA C++ Python HashSet unordered_set set 阅读全文
posted @ 2020-11-13 22:58 acchris 阅读(96) 评论(0) 推荐(0)
摘要:总结 本题思路主要是找到 较小值(从后往前(下标n - 2开始)小于它后面的数的对应点i)找到i后再从后往前一遍(从n - 1开始),找到大于i的下标。之后对i和j进行swap,然后翻转i + 1及其后的数组。(由于先前第一次遍历时候,i后面的排序必是降序,故只需翻转) 在此附上代码及出处 JAVA 阅读全文
posted @ 2020-11-10 19:56 acchris 阅读(60) 评论(0) 推荐(0)
摘要:升序 //以下nums为数组 1. JAVA的升序直接用Arrays.sort(nums)。 1. C++则是sort(start,end)。 * eg.`这里的start和end是地址参数,例如nums数组有5个元素,那么对其升序排序应该为sort(nums,nums+5);` 降序 1. JAV 阅读全文
posted @ 2020-11-10 15:03 acchris 阅读(826) 评论(0) 推荐(0)
摘要:##一、JAVA的实现 JAVA二叉树的中序遍历,除了用递归,还可以用栈Deque来实现, 对栈常规操作有插入即push(),弹出栈顶元素即pop()方法,还有判断栈为空的stack.isEmpty()。 Deque<TreeNode> stack = new LinkList<TreeNode>( 阅读全文
posted @ 2020-11-07 16:17 acchris 阅读(239) 评论(0) 推荐(0)
摘要:##总结分析 这道题当我看题目的时候,发现了可选可不选的时候,就想到了要用动态规划解决,奈何动态规划了解甚少。于是我尝试写了一下,发现只能通过第一个简单的测试案例。 最后看了官方题解,了解到动态规划一般分为两行,第一行是不选择当前值,第二行是选择。然后分别保存到两个变量值里。其实这题确实简单,但没接 阅读全文
posted @ 2020-11-06 22:15 acchris 阅读(87) 评论(0) 推荐(0)
摘要:###题目背景 我第一次尝试力扣双周赛,结果以这道题告败。第38场双周赛第一题,简单题,我却答不出。。。。 ###题目解法 【c++】我看了一下别人的方法,C++一般是先用cnt数组计算出频率,然用sort(nums.begin(),nums.end(),自定义排序); class Solution 阅读全文
posted @ 2020-11-05 23:53 acchris 阅读(150) 评论(0) 推荐(0)
摘要:#【JAVA】参考题解 1.思路是这样子的,先用哈希表的key存下pieces的每一行的第一个元素即p【0】,然后value存放相应的一维数组; 2.然后遍历arr数组,先查看每个值是否在map中,若存在,则找到相应的一维数组,然后遍历一维数组;若不存在返回false; 3.遍历一维数组的时候,若中 阅读全文
posted @ 2020-11-03 22:49 acchris 阅读(94) 评论(0) 推荐(0)