Leetcode刷题记录
来源:互联网 发布:搬砖小伟的淘宝店 编辑:程序博客网 时间:2024/05/16 13:05
刚刚开始刷LeetCode很多不明白的地方,写个博客记录一下心力路程
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.
Example:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].
暴力解法,不是很熟悉没有IDE的写法
class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> output; for(int i=0;i<nums.size();i++) { for(int j=i+1;j<nums.size();j++) { if(nums[i]+nums[j]==target) { output.push_back(i); output.push_back(j); return output; } } } }};
2. Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8
对链表熟悉度还不够
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode head(0); ListNode *preNode=&head; int add=0; ListNode *b1=l1,*b2=l2; while(b1!=NULL||b2!=NULL||add>0) { ListNode *node=new ListNode(0); int val1=b1?b1->val:0; int val2=b2?b2->val:0; b1=b1?b1->next:NULL; b2=b2?b2->next:NULL; node->val=(val1+val2+add)%10; add=(val1+val2+add)/10; preNode->next=node; preNode=node; } return head.next; }};
3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with the length of 1.Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
这个题还是蛮有难度的,因为不存在重复的字符,那么就当有重复的时候,计算两个重复的距离,如果没有重复的那么就一直减去-1
class Solution {public: int lengthOfLongestSubstring(string s) { vector<int> hash(256, -1); int maxLen=0; int start=-1; for(int i=0;i<s.length();i++) { if(hash[s[i]]>start) { start=hash[s[i]]; } hash[s[i]]=i; maxLen=max(maxLen,i-start); } return maxLen; }};
阅读全文
0 0
- leetcode刷题记录
- leetcode刷题记录
- leetcode刷题记录
- leetcode 刷题记录
- leetcode刷题记录
- Leetcode刷题记录
- Leetcode刷题记录
- leetcode 刷题记录
- LeetCode刷题记录
- 【LeetCode刷题记录】
- leetCode 刷题记录 Candy
- LeetCode 刷题记录 目录
- leetcode刷题记录4--依然数组
- leetcode刷题记录5--依旧数组
- [LeetCode刷题记录]Single Number II
- [LeetCode刷题记录]Partition List
- [LeetCode刷题记录]Number of Islands
- 【LeetCode刷题记录】Rotate Array
- 云盾WAF实现虚拟补丁——记一起Web漏洞应急响应
- Anaconda多环境多版本python配置指导
- [NOIP赛前冲刺第一期]初赛基础知识归纳
- Leetcode Day6 2. Add Two Numbers I & II
- 如何连接ftp服务器
- Leetcode刷题记录
- iOS关于APP转让
- Easyui validatebox自定义提示
- yii2
- 阿里云网站部署(三):子域名解析
- 云栖·虾米音乐节嘉宾阵容、歌单曝光!今年马云会唱什么歌?
- 编写代码时需要的知识
- 香甜的黄油解题报告
- Java-IO(二)——RandomAccessFile