随笔分类 - 算法(Java)
由java编写的代码
摘要:方案一:分而治之/Hash映射(内存要求不够的时候,需要我们把文件中的数据分到不同的文件中) + Hash_map统计 + 堆/快速/归并排序 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最
阅读全文
摘要:1,.计算最大1的面积 https://leetcode.com/problems/maximal-rectangle/ 2.正则匹配: https://leetcode.com/problems/regular-expression-matching/description/
阅读全文
摘要:1.加了钥匙的搜索,很有趣 关键点就是用位来保存钥匙的状态 https://www.nowcoder.com/practice/e3fc4f8094964a589735d640424b6a47?tpId=90&tqId=30779&rp=1&ru=/ta/2018test&qru=/ta/2018t
阅读全文
摘要:乘法: 思路:用一个长度为两个字符串长度和的数组保存两个字符串下标的值(在新的数组中的下标就是这两个下标的和)相乘的结果,然后再第0位往后做进位处理,取余保存为当前位的值,去商加到下一位的值中,继续做相同的处理。 加法,比乘法简单很多
阅读全文
摘要:链表节点结构: public static class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 1.判断链表是否存在环:通过快慢节点 public boolean isLoop
阅读全文
摘要:输入:abc 输出:bac,cba,acb,bca,cab,abc 全排列的问题: 基本思想就是递归,固定第一个数,先求后面的所有的数的全排列,再用这个固定的数和后面的每个数来交换,注意重复字符的处理。 利用全排列解决一些问题: 比如从1,2,3,4里面拿出3个数,组成不重复的 就是在退出的地方重新
阅读全文
摘要:插入排序 1.简单插入,前面排好了序,后面往前插 //时间复杂度O(n^2),稳定,逆序的时候花费时间最长 public void InsertSort(int a[]) { int n=a.length; for(int i=1;i<n;i++) { int temp=a[i]; int j=i-
阅读全文
摘要:1.最长递增子序列问题 https://leetcode.com/problems/longest-increasing-subsequence/ 时间复杂度O(n^2)有些情况会超时 提供一种新的方法时间复杂度O(n*logn) 2.最长回文串问题 https://leetcode.com/pro
阅读全文

浙公网安备 33010602011771号