1. Two Sum

【题目】https://leetcode.com/problems/two-sum/description/

【思路】将数组 利用 map 处理 即可

【代码】

 1 class Solution {
 2 public:
 3     vector<int> twoSum(vector<int>& nums, int target) {
 4         // 哈希表存储 值->下标 的映射
 5         unordered_map<int, int> indices;
 6
 7         for (int i = 0; i < nums.size(); i++)
 8         {
 9             int temp = target - nums[i];
10             if (indices.find(temp) != indices.end() && indices[temp] != i)
11             {
12                 return vector<int> {indices[temp], i};
13             }
14             indices.emplace(nums[i], i);
15         }
16     }
17 };

C++

 1 class Solution {
 2     public int[] twoSum(int[] nums, int target) {
 3         Map<Integer, Integer> indeces = new HashMap<>();
 4         for(int i=0;i<nums.length;++i) {
 5             int temp = target - nums[i];
 6             if(indeces.containsKey(temp)) {
 7                 return new int[] {indeces.get(temp), i};
 8             }
 9             indeces.put(nums[i], i);
10         }
11         return null;
12     }
13 }

Java

【get】

C++中 HashMap 的使用

https://blog.csdn.net/charles1e/article/details/52042066

2. Add Two Numbers (2018/10/17)

【题目】https://leetcode.com/problems/add-two-numbers/description/

【思路】考察数据结构——链表,主要是链表的操作

3. Longest Substring Without Repeating Characters (2018/10/22)

【题目】https://leetcode.com/problems/longest-substring-without-repeating-characters/description/

  给定一个字符串,找到一个最长的连续子串,使其满足每一个字符都不重复

【思路】

  (1)维护一个HashMap 记录出现过的字符  key:字符 value:字符在数组的下标

  (2)初始 i = j = 0

      j 向后移动 并把字符加到HashMap中

      如果遇到重复的字符,由 HashMap 更新 i , 使 i 向后跳跃

      比如 123abcda 读到 j  == 7 时, 发现 s[7] = s[3] , i 更新为 4

4. Median of Two Sorted Arrays (2018/10/22)

【题目】https://leetcode.com/problems/median-of-two-sorted-arrays/description/

  给两个有序的数组,求两个数组合并后的中位数,给出log(m+n)的算法

【思路】

  (1)自己leetcode写了一个O(M+N)复杂度的算法,提交竟然AC了

  (2)看到log(m+n),想到二分法,关键时要如何进行二分

  官方题解讲得挺详细的 https://leetcode.com/problems/median-of-two-sorted-arrays/solution/

  

5. Longest Palindromic Substring (2018/10/24)

【题目】https://leetcode.com/problems/longest-palindromic-substring/description/

  大意:找一个最长子串,该子串回文

【思路】

  (1)找一个中心,向两边扩展找最长回文子串

    遍历每个中心,假设字符串长度为n,一共有 2n -1 个中心

    时间复杂度 O(n*n)

  (2)dp

   状态转移方程  dp[i][j] 表示 子串s[i] ~ s[j] 是否为回文

 

  

6. ZigZag Conversion (2018/10/25)

【题目】https://leetcode.com/problems/zigzag-conversion/description/

【思路】画出图形,找一下规律即可

7. Reverse Integer (2018/10/25)

【题目】将一个int数反向输出,如果反向后超出int范围,输出0

【思路】水题

8. String to Integer (atoi) (2018/10/25)

【题目】将字符串转化为整数

【思路】水题

9. Palindrome Number(2018/10/25)

【题目】判断回文数

【思路】水题

10. Regular Expression Matching

【题目】

【思路】

11. Container With Most Water (2018/10/31)

【题目】https://leetcode.com/problems/container-with-most-water/description/

可以抽象为如下数学表达:
* 给定一个数组a[N] , 求max{ s }, s=min(s[i],s[j])*(j-i) 且j > i

【思路】

(1)用暴力搜索 AC了,发现leetcode不怎么卡时间

(2)使用双指针,分别在开头结尾向中间移动

12. Integer to Roman(2018/10/31)

【题目】将一个整数转化为罗马符号

【思路】先转化个位的数字,再转化十位的数字....
* 注意输出的顺序

17. Letter Combinations of a Phone Number(2018/11/3)

【题目】输出所有序列

【思路】用树分析题目,很容易想到用dfs

19. Remove Nth Node From End of List(2018/11/3)

【题目】给一个单向链表,去除倒数第n个元素
【思路】双指针:
 两个指针间隔n个单位,
然后一起向后移动,
当第二个指针移动到末尾,第一个指针就移动到了倒数第n个元素的位置

22. Generate Parentheses (2018/11/4)

【题目】枚举出规定长度的括号序列
【思路】递归 O(2^(2n))
剪枝优化,递归过程中一旦检测到序列不合法,即终止添加括号

23. Merge k Sorted Lists (2018/11/7)

【题目】给出k个已经排好序的链表,合成一个排好序的链表
【思路】用最小堆维护每一个链表的第一个节点,
    每次移除最小堆的最小值,用相应的链表的下一个值代替,对最小堆进行更新,更新时间复杂度为O(logk),

   也就是找所有链表第一个节点的最小值

 【思路2】 题解中用了归并这种思想

    先是 k 组 合并成 k/2 组 

    K/2 组 合并成 k/4 组

    。。。

    直到合并为一组,算法结束

【题目】

【思路】

转载于:https://www.cnblogs.com/chsobin/p/9689721.html

【leetcode】相关推荐

  1. 【Leetcode】100. 相同的树

    题目 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1 ...

  2. 【leetcode】85. Maximal Rectangle 0/1矩阵的最大全1子矩阵

    1. 题目 Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1 ...

  3. 【leetcode】486. Predict the Winner

    题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...

  4. 【leetcode】132. Palindrome Partitioning II

    题目如下: 解题思路:本题是[leetcode]131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用[leetcode]131. Palindrome P ...

  5. 【leetcode】86. Partition List

    题目如下: Given a linked list and a value x, partition it such that all nodes less than x come before no ...

  6. 【Leetcode】103. 二叉树的锯齿形层次遍历

    题目 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 ...

  7. 【Leetcode】79.单词搜索

    题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...

  8. 【leetcode】 算法题1 两数之和

    [leetcode] 算法题1 两数之和 问题   给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums ...

  9. 【Leetcode】62. 不同路径

    题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&qu ...

  10. 【Leetcode】Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 思路:若使用[Leetcode]Reverse I ...

最新文章

  1. 一年一度程序员“补课”季来袭,618 背后技术大公开!
  2. c#_Dictionary集合
  3. 【nodejs笔记3】Express基本用法,和路由控制,和模板渲染ejs
  4. 经典C语言程序100例之二四
  5. 卸载源码安装mysql_CentOS 7.x 卸载删除MariaDB,重新安装,安装MYSQL离线版和源代码...
  6. java 对象的解释过程
  7. 水电图wp表示什么_装修水电工入门基础知识,刚入行不懂不用急?老师傅告诉你怎么做...
  8. 3d页游开发_大翅膀等于页游风?天谕手游扭转印象,阿云嘎同款黑翅膀最有排面...
  9. hdu 1134 卡特兰数(大数模板)
  10. cisco设备vlan,trunk,以太网通道管理
  11. 提高页面渲染速度的建议以及方案
  12. (一百五十一)Android P 真正创建sta iface的地方
  13. Ubuntu 搭建强大的 IDE —— Vim + Vundle + 插件
  14. ps 透明底和改变颜色
  15. 族蚂建站课堂:域名相关基础内容
  16. 如何在安卓手机上面远程桌面操作
  17. ptaa乘以b_PTA-多项式A除以B
  18. Python学习之道-串口编程TEMI880温箱控制
  19. 单面打印机=》双面打印
  20. 《第一篇》快学Flink-实时读取socket

热门文章

  1. gRPC学习记录(四)--官方Demo
  2. 如何让区块链连接外面的世界
  3. 区块链学堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist
  4. 红茶一杯话Binder
  5. Android开发工具之Android Studio---版本控制SVN使用(二)
  6. 修改服务器404页面,服务器上的404页面做了有什么好处?
  7. Java连接open fire_java – 为什么我不能连接到openfire服务器?
  8. mysql分区失败_MYSQL表分区操作错误1503解决方案
  9. 图˙谱˙马尔可夫过程˙聚类结构(转自MIT的中国留学生博客)
  10. 到底什么是云计算-转自http://blog.csdn.net/adwu73