1.题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-10 01:46:29   
                                阅读次数:
78
                             
                    
                        
                            
                            
                                一、0/1 背包 ? 你背着一个背包闯入一家珠宝店,店里有林林总总的格式珠宝,各不重样。每一个珠 宝都有重量和价值。但是你的书包有承载上限。 ? 想成为江湖老大,你需要找到一种装包方法使得包内物品的重量不超过其限定值且使 包内物品的价值最大 def knapSack(W, wt, val, n):  ...
                            
                            
                                分类:
其他好文   时间:
2020-05-07 13:23:32   
                                阅读次数:
62
                             
                    
                        
                            
                            
                                1.两数之和 思路: 都会想到的肯定是两重循环,但这会导致一个n平方的时间复杂度。有一个问题是,我在看浙大数据结构课中,其中提到如果见到n平方,要想办法做成nlogn,所以思路往那边想去了。所以,什么情况下能尝试吧n平方优化成nlogn呢? 没想到的是,LeetCode给的官方解法是hashmap的 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-02 11:58:31   
                                阅读次数:
60
                             
                    
                        
                            
                            
                                    题目 在一个无序数组里有99个不重复的正整数,范围是1~100,唯独缺少1个1~100中的整数。如何找出这个缺失的整数? 解决方案 解决方法一 创建一个哈希表,以1到100这100个整数为Key。然后遍历整个数组,每读到一个整数,就定位到哈希表中对应的Key,然后删除这个Key。由于数组中缺少1个整 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-28 14:39:15   
                                阅读次数:
65
                             
                    
                        
                            
                            
                                    这道题很容易看出来二维的转移方程,只要移一下项就行 但是二维的显然不行,这个数据范围,一看就是nlogn的复杂度,因此想到优化,我们看到这个表达式,只能想到是否有四边形不等式优化的可能性 因此去证明一下,因为四边形不等式的决策单调性都是根据min来证的,我们把max取反就变成min,然后根据定理求导 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-28 09:56:57   
                                阅读次数:
51
                             
                    
                        
                            
                            
                                #include <iostream> #include <string> #include <cstdlib> #include <sstream> #include <cstring> #include <cstdio> #include <map> using namespace std; i ...
                            
                            
                                分类:
编程语言   时间:
2020-04-26 16:52:41   
                                阅读次数:
56
                             
                    
                        
                            
                            
                                    堆,一种非常重要的数据结构。能实现数据的自动排序,而且排序时间复杂度为O(nlogn),在n达到10^4时,O(n2)级算法就容易超时,但堆排序不会。堆可调用STL系统函数,简化代码,容易书写。一般情况,如果堆元素为数、字符、字符串都可有用默认的排序规则。如果元素是pair类型,其比较大小的方式为先 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-26 01:37:44   
                                阅读次数:
78
                             
                    
                        
                            
                            
                                    归并排序 归并算法是在分治的思想下,将数组递归的分为两半,分别排序后,再归并成 整个数组。所谓分治,即分而治之。 优点:对于长度为 N 的数组,无论规模多大,排序所需时间总和 NlogN 成正比。 缺点:排序所需额外空间和 N 成正比。 注意:归并排序的核心不是交换数据。 1. 自顶向下的归并排序  ...
                            
                            
                                分类:
编程语言   时间:
2020-04-24 23:23:55   
                                阅读次数:
114
                             
                    
                        
                            
                            
                                    树的实际应用 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序属于选择排序,其最好、最坏、平均时间复杂度均为 O(nlogn) ,他也是 不稳定排序 1. 堆介绍及最大最小堆 堆是具有以下性质的完全二叉树 每个结点的值都大于或等于其左右孩子结点的值,称为大项堆 每个结点的值都小于等于其 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-24 20:06:27   
                                阅读次数:
68
                             
                    
                        
                            
                            
                                    题目:在长度为n的数组里的所有数字都在0-n-1的范围内,数组中某些数字是重复的,但不知道几个数字重复了。也不知道每个数字重复了几次。找出数组中任意一个重复的数字。 1.数组用O(nlogn)排序,然后找出重复数字 2.哈希表 时间和空间都为O(n) 3.从头到尾扫描数组,当扫描到下标为i的数字时, ...
                            
                            
                                分类:
编程语言   时间:
2020-04-22 13:01:14   
                                阅读次数:
61