Leetcode题目分类整理

一、数组

8) 双指针 ---- 滑动窗口

例题:

3. Longest Substring Without Repeating Characters

描述:Given a string, find the length of the longest substring without repeating characters.

题解:时间:92.67%,空间:87.02%

 1     public int lengthOfLongestSubstring(String s) {
 2         // check
 3         if(s == null || s.length() == 0) return 0;
 4
 5         // initial
 6         int[] freq = new int[256];
 7         Arrays.fill(freq, -1);
 8         int l = 0, r = 0, res = 0;
 9
10         while(r < s.length()){
11             if(freq[s.charAt(r)] != -1) l = Math.max(l, freq[s.charAt(r)] + 1);
12             freq[s.charAt(r)] = r++;
13             res = Math.max(res, r - l);
14         }
15
16         return res;
17     }

练习:

438. Find All Anagrams in a String

76. Minimum Window Substring

二、查找问题

1)查找有无:是否存在

2)查找对应关系:出现了几次

349. Intersection of Two Arrays   // 熟悉Set

描述:Given two arrays, write a function to compute their intersection.

Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2]
 1     public int[] intersection(int[] nums1, int[] nums2) {
 2         if(nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0)
 3             return new int[0];
 4
 5         Set<Integer> set1 = new HashSet<Integer>();
 6         Set<Integer> setTemp = new HashSet<Integer>();
 7
 8         for(int num : nums1) set1.add(num);
 9         for(int num : nums2) if(set1.contains(num)) setTemp.add(num);
10
11         int k = setTemp.size();
12         int[] res = new int[k];
13         for(int num : setTemp) res[--k] = num;
14
15         return res;
16     }

350. Intersection of Two Arrays II          // 熟悉 Map

描述:Given two arrays, write a function to compute their intersection.

Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2,2]
 1     public int[] intersect(int[] nums1, int[] nums2) {
 2         if(nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0)
 3             return new int[0];
 4
 5         Map<Integer, Integer> map = new HashMap<Integer, Integer>();
 6         for(int num : nums1){
 7             map.put(num, map.getOrDefault(num, 0) + 1);
 8         }
 9
10         List<Integer> list = new ArrayList<Integer>();
11         for(int num : nums2){
12             if(map.get(num) != null && map.get(num) > 0){
13                 list.add(num);
14                 map.put(num, map.get(num) - 1);
15             }
16         }
17
18         int k = list.size();
19         int[] arr = new int[k];
20         for(int num : list) arr[--k] = num;
21
22         return arr;
23     }

242. Valid Anagram

题目描述:Given two strings s and , write a function to determine if t is an anagram of s.

202. Happy Number

290. Word Pattern

205. Isomorphic Strings

451. Sort Characters By Frequency

查找表的经典问题:

1. Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

时间:99.77%,空间:88.15%

1     public int[] twoSum(int[] nums, int target) {
2         Map<Integer, Integer> map = new HashMap<Integer, Integer>();
3         for(int i = 0; i < nums.length; i++){
4             int de = target - nums[i];
5             if(map.get(de) != null) return new int[]{map.get(de), i};
6             map.put(nums[i], i);
7         }
8         return new int[2];
9     }

15. 3Sum

18. 4Sum

16. 3Sum Closest

454. 4Sum II

描述:Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l] is zero.

To make problem a bit easier, all A, B, C, D have same length of N where 0 ≤ N ≤ 500. All integers are in the range of -2^28 to 2^28 - 1 and the result is guaranteed to be at most 2^31 - 1.

49. Group Anagrams

原文地址:https://www.cnblogs.com/tf-Y/p/10412101.html

时间: 2024-10-18 03:53:13

Leetcode题目分类整理的相关文章

杭电ACM题目分类

杭电ACM题目分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028. 1029.1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092. 1093.1094.1095.1096.1097.1098.1106.1108.1157.1163.1164.1170.1194.1196. 1197.1201.1202.1205.1219.1234.123

leetcode题目:Clone Graph

题目: Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's undirected graph serialization: Nodes are labeled uniquely. We use # as a separator for each node, and , as a separator for node label and each n

iOS Foundation 框架 224 篇相关文档分类整理

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 截至 2014-05-02 ,苹果官网 Foundation 框架相关文档共计 224 篇,分类如下: Foundation 框架概述文档:常量.

各大oj题目分类(转)

POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006POJ1008POJ1013POJ1016POJ1017POJ1169POJ1298POJ1326POJ1350POJ1363POJ1676POJ1786POJ1791POJ1835POJ1970POJ2317POJ2325POJ2390POJ1012POJ1082POJ1099POJ1114POJ1642POJ1677POJ1684

ACM训练方案-POJ题目分类

ACM训练方案-POJ题目分类 博客分类: 算法 ACM online Judge 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 中国科技大学(USTC):http://acm.ustc.edu.cn/ 北京航天航空大学(BUAA)http://acm.buaa.edu.cn/oj/index.php 南京

转载:poj题目分类(侵删)

转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K–0.50K:中短代码:0.51K–1.00K:中等代码量:1.01K–2.00K:长代码:2.01K以上. 短:1147.1163.1922.2211.2215.2229.2232.2234.2242.2245.2262.2301.2309.2313.2334.2346.2348

【转】POJ题目分类

初级:基本算法:枚举:1753 2965贪心:1328 2109 2586构造:3295模拟:1068 2632 1573 2993 2996图:最短路径:1860 3259 1062 2253 1125 2240最小生成树:1789 2485 1258 3026拓扑排序:1094二分图的最大匹配:3041 3020最大流的增广路算法:1459 3436数据结构:串:1035 3080 1936排序:2388 2299哈希表和二分查找等高效查找法:3349 3274 2151 1840 2002

各大oj题目分类

PythonTip 在线编程 挑战python 博文 模式 问答 ACM 课堂 下载 吐槽 放松 About 搜索 欢迎您:SSYYGAM | 个人中心| 注销 ACM/ICPC专栏 各大OJ近期比赛列表 各大OJ题目分类 负责任的OJ搜索 POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006POJ1008POJ1013POJ1016POJ1017POJ1169POJ1298POJ13

leetcode题目思路以及部分解答(一)

为了进好公司这一个多月就得抽时间刷leetcode了..感觉这个OJ很不严谨...好多边界条件都没说清处..不过还好可以推测.唯一的好处就是不用自己编译调试,可以直接在网上显示出结果.当然,复杂一点的题目为了调试自己构建题目的结构也是很麻烦的...所以我发现提交里面错误好多.....再就是在笔记本上会时不时的变卡...每次提交都得等个3,4分钟才成功.要不就502错误... 我的题目按照通过率来.从通过率最高的题目开始讲解.每题不一定是最优解,都是我想得.仅供参考. 题目标题我都标好了.可以用c