class Solution { public:int firstUniqChar(string s) {map<char, int> a;for(auto c:s){if(!a.count(c)){a[c] = 1;}else{a[c]++;}}for(int i=0;i<s.size();i++){if(a[s[i]]==1){return i;}}return -1;} };原文:https://www.cnblogs.com/theodoric008/p/9373842.html
Problem: Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would haveexactly one solution. For example, given array S = {-1 2 1 -4}, and target = 1.The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).Solution:此题与15题基本类似,甚至更简单一些,只需要比较和...
class Solution { public:bool judgeCircle(string moves) {int x = 0;int y = 0;for(auto c:moves){if(c==‘U‘){y++;}else if(c==‘D‘){y--;}else if(c==‘R‘){x++;}else if (c==‘L‘){x--;}}return (x==0 && y==0);} }; 原文:https://www.cnblogs.com/theodoric008/p/9370942.html
Sort a linked list using insertion sort.A graphical example of insertion sort. The partial sorted list (black) initially contains only the first element in the list.With each iteration one element (red) is removed from the input data and inserted in-place into the sorted listAlgorithm of Insertion Sort:1Insertion sort iterates, consuming one input element each repetition, and growing a sorted outp...
题目:Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[[2],[3,4],[6,5,7],[4,1,8,3] ] The minimum path sum from top to bottom is 11 (i.e., 2 + 3 + 5 + 1 =11).Note: Bonus point if you are able to do this using only O(n) extra space, where n is the total number of rows in the triangle....
leetcode 213. 打家劫舍II? 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。? 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。? 示例:输入: [2, 3, 2]输出: 3解释: ...
题目: Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"click to show corner cases.Corner Cases:Did you consider the case where path = "/../"? In this case, you should return "/".Another corner case is the path might contain multiple slashes ‘/‘ together,such as "/home//foo/". In this case, you should ignore redu...
class Solution { public:int totalNQueens(int n) {//initialize chessboardvector<vector<bool>> boardconf;vector<bool> orig_row;orig_row.assign(n,false);boardconf.assign(n,orig_row);int totalNum = 0;for(int j = 0; j < n; j++){totalNum+= NQueens(boardconf,0,j,n);}return totalNum;}int NQueens(vector<vector<bool>> cb, int i, int j,int n){if(i == n-1){if(not_attack(cb,i,j,n)) return1;elsereturn0;}else{if...
Problem: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is. You may not alter the values in the nodes, only nodes itself may be changed. Only constant memory is allowed. For example, Given this linked list: 1->2->3->4->5 For k = 2, you should return: 2...
题目这里有 n 个航班,它们分别从 1 到 n 进行编号。有一份航班预订表 bookings ,表中第 i 条预订记录 \(bookings[i] = [first_i, last_i, seats_i]\) 意味着在从 \(first_i\) 到 \(last_i\) (包含 \(first_i\) 和 \(last_i\))的 每个航班 上预订了 \(seats_i\) 个座位。请你返回一个长度为 n 的数组 answer,其中 answer[i] 是航班 i 上预订的座位总数。示例 1:输入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5 输出:[...
题目: Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For example, Given sorted array A = [1,1,1,2,2,3], Your function should return length = 5, and A is now [1,1,2,2,3]. 思路: 可以借鉴Remove Duplicates from Sorted Array的两个指针移动的方法。不过需要考虑一些细节。比如,我们需要将小于3个的重复数字都不断往前赋值过去,超过3个才只移动point指针,向前搜索不等的数字。找...
索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode035. Search for a Range (Medium) 链接:题目:https://leetcode.com/problems/search-for-a-range/ 代码(github):https://github.com/illuz/leetcode题意:在有序数组中找到一个数的范围。(由于数有反复)分析:还是二分搜索变形。(C++)直接用 C++ STL 的 lower_bound 和 upper_bound 偷懒。(Java)直接从普通的二分改一下...
题目:Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.Update (2014-11-02):The signature of the function had been updated to return the index instead of the pointer. If you still see your function signature returns a char * or String, please click the reload button to reset your code definition.Tag:String; Two Pointers体会...
题目: Given a binary tree, return the zigzag level order traversal of its nodes‘ values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree {3,9,20,#,#,15,7}, 3/ 9 20/ 15 7return its zigzag level order traversal as:[[3],[20,9],[15,7] ]confused what "{1,#,2,3}" means? ' ref='nofollow'>> read more on how binary tree is ...
1.题目大意A sequence of number is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the same.For example, these are arithmetic sequence:1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9The following sequence is not arithmetic.1, 1, 2, 5, 7A zero-indexed array A consisting of N numbers is given. A slice of that array is any pair of intege...