算法练习
文章平均质量分 51
不迷信_只迷人
这个作者很懒,什么都没留下…
展开
-
leetcode contest-144
文章目录Defanging an IP AddressCorporate Flight BookingsDelete Nodes And Return ForestMaximum Nesting Depth of Two Valid Parentheses Stringsleetcode的周赛的题目越来越实用,也希望能不断提升本次的四道题目总结如下:Defanging an IP Addre...原创 2020-04-19 14:06:15 · 177 阅读 · 0 评论 -
LeetCode contest180
文章目录5356.矩阵中的幸运数5357. 设计一个支持增量操作的栈5179. 将二叉搜索树变平衡5359. 最大的团队表现值5356.矩阵中的幸运数完全拼手速的题目,数据量不大,即使O(n^3)也能解决5357. 设计一个支持增量操作的栈读题认真,也是没有难度的一道题目,基本上维护一个数组就可以,稍微留意下边界处理。5179. 将二叉搜索树变平衡利用中序遍历获得二叉搜索树的有序数组,...原创 2020-04-19 14:00:46 · 165 阅读 · 0 评论 -
Leetcode Longest Valid Parentheses 32
Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”, which has原创 2017-01-02 15:58:55 · 337 阅读 · 0 评论 -
Leetcode Convert a Number to Hexadecimal 405
Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.Note:All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal str原创 2017-01-03 16:42:44 · 362 阅读 · 0 评论 -
快速的判断一个数是不是2,3,4的幂
1.判断是不是2的幂: 如果n是2的幂二进制中有一位是1,n-1的二进制表示中剩下的都是1 则判断用n&(n-1) 如果是0 就是2的幂2.判断是不是4的幂: 如果n是4的幂,首先是2的幂:n&(n-1)=0 然后看是否在1的位置是不是在偶数位 n&(0x55555555) 为1 || n&(0xaa原创 2017-01-03 17:32:53 · 922 阅读 · 0 评论 -
Leetcode Binary Tree Level Order Traversal 102
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20原创 2017-01-05 20:47:12 · 370 阅读 · 0 评论 -
Leetcode Edit Distance 72
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:a) In原创 2016-12-30 16:23:12 · 301 阅读 · 0 评论 -
Leetcode Best Time to Buy and Sell Stock III 123
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most two transactions.Note: You may not engag原创 2016-12-29 18:57:38 · 424 阅读 · 0 评论 -
Leetcode Integer Break 343
Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.For example, given n = 2, return 1原创 2016-12-27 21:00:28 · 382 阅读 · 0 评论 -
Leetcode Counting Bits 338
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array.Example: For num = 5 you sh原创 2016-12-27 20:38:07 · 339 阅读 · 0 评论 -
Leetcode Best Time to Buy and Sell Stock
dp练习:1. Input: [7, 1, 5, 3, 6, 4] Output: 5max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)题目链接class Solution {public: int maxProfit(vector<int>& pr原创 2016-12-27 20:35:17 · 317 阅读 · 0 评论 -
Leetcode Perfect Squares 279
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, …) which sum to n.For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return原创 2016-12-25 19:49:00 · 256 阅读 · 0 评论 -
Leetcode Decode Ways 91
A message containing letters from A-Z is being encoded to numbers using the following mapping:‘A’ -> 1 ‘B’ -> 2 … ‘Z’ -> 26 Given an encoded message containing digits, determine the total number of原创 2016-12-25 15:22:19 · 285 阅读 · 0 评论 -
Leetcode Generate Parentheses 22
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ “((()))”, “(()())”, “(())()”, “()(())”,原创 2016-12-25 12:09:54 · 256 阅读 · 0 评论 -
Leetcode Multiply Strings 43
Given two numbers represented as strings, return multiplication of the numbers as a string.Note: The numbers can be arbitrarily large and are non-negative. Converting the input string to integer is N原创 2016-12-24 20:19:20 · 299 阅读 · 0 评论 -
Leetcode Longest Substring Without Repeating Characters 3
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 le原创 2016-12-23 14:43:07 · 280 阅读 · 0 评论 -
Leetcode Reverse Words in a String 151
Given an input string, reverse the string word by word.For example, Given s = “the sky is blue”, return “blue is sky the”.Update (2015-02-12): For C programmers: Try to solve it in-place in O(1) spa原创 2016-12-21 17:22:44 · 384 阅读 · 0 评论 -
Leetcode Palindrome Linked List 234
Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) time and O(1) space?Subscribe to see which companies asked this question题目链接最开始考虑的是用栈来保存,时间和空间复杂度达到o(n)/*原创 2016-12-20 18:25:43 · 449 阅读 · 0 评论 -
Leetcode Add Two Numbers II 445
You are given two linked lists representing two non-negative numbers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and return it as a linke原创 2016-12-20 17:14:39 · 813 阅读 · 0 评论 -
Leetcode Matchsticks to Square 473
Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match girl has, please find out a way you can make one square by using up all those matchsticks. You should原创 2016-12-18 17:41:25 · 881 阅读 · 0 评论 -
Leetcode Total Hamming Distance 477
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.Now your job is to find the total Hamming distance between all pairs of the given numb原创 2016-12-18 16:54:22 · 878 阅读 · 0 评论 -
Leetcode Number of Segments in a String 434
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.Please note that the string does not contain any non-printable characters.Exampl原创 2016-12-12 15:20:34 · 323 阅读 · 0 评论 -
Leetcode Repeated Substring Pattern 459
Given a non-empty string check if it can be constructed by taking a substring of it and appending multiple copies of the substring together. You may assume the given string consists of lowercase Englis原创 2016-12-12 14:56:31 · 289 阅读 · 0 评论 -
Leetcode Add Strings 415
Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2.Note:The length of both num1 and num2 is < 5100. Both num1 and num2 contains only digits 0-9. Both原创 2016-12-12 11:56:25 · 343 阅读 · 0 评论 -
Leetcode Number of Boomerangs 447
Given n points in the plane that are all pairwise distinct, a “boomerang” is a tuple of points (i, j, k) such that the distance between i and j equals the distance between i and k (the order of the tup原创 2016-12-10 22:08:17 · 353 阅读 · 0 评论 -
Leetcode Binary Watch 401
A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom represent the minutes (0-59).Each LED represents a zero or one, with the least significant bit on the原创 2016-12-10 20:45:12 · 331 阅读 · 0 评论 -
leetcode Minimum Moves to Equal Array Elements 453
Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 1 elements by 1.Example:Input: [1,2,3]Output: 3原创 2016-12-07 11:10:50 · 427 阅读 · 0 评论 -
二叉树的镜像[剑指offer]之python实现
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10原创 2016-10-26 16:44:12 · 1830 阅读 · 2 评论 -
树的子结构[剑指offer]之python实现
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)题目链接# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None原创 2016-10-24 21:49:21 · 1171 阅读 · 0 评论 -
合并两个排序的链表[剑指offer]之python实现
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题目链接开辟新的链表空间:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution:原创 2016-10-24 21:14:04 · 2089 阅读 · 0 评论 -
[剑指offer]之python实现总结[持续更新中]
一 递归 使用记录减少递归层数提升效率斐波那契数列 跳台阶变态跳台阶矩形覆盖链表的遍历反转链表涉及树的遍历 二叉树的深度平衡二叉树 树的子结构 二叉树的镜像二 交换[类似快排] 调整数组顺序使奇数位于偶数前面 [由于要保证顺序,并未使用交换]合并两个排序的链表三 其他题目 - 二进制1的个数 - 数值的整数次方 -原创 2016-10-22 16:43:42 · 1643 阅读 · 0 评论 -
反转链表[剑指offer]之python实现
题目描述输入一个链表,反转链表后,输出链表的所有元素。 题目链接# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseL原创 2016-10-22 16:24:27 · 2896 阅读 · 0 评论 -
链表中倒数第k个结点[剑指offer]之python实现
题目描述输入一个链表,输出该链表中倒数第k个结点。题目链接解法一: 主要考虑k跟链表个数的大小关系,用两个指针来进行遍历# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: d原创 2016-10-20 14:10:38 · 2266 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面[剑指offer]之python实现
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。题目连接时空都是O(n)# -*- coding:utf-8 -*-class Solution: def reOrderArray(self, array): # write code here原创 2016-10-18 10:16:38 · 1362 阅读 · 0 评论 -
数值的整数次方[剑指offer]之python实现
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。题目链接# -*- coding:utf-8 -*-class Solution: def Power(self, base, exponent): # write code here if base<0.0000001 and base>-原创 2016-10-16 21:32:13 · 1977 阅读 · 0 评论 -
二进制中1的个数[剑指offer]之python实现
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。题目链接# -*- coding:utf-8 -*-class Solution: def NumberOf1(self, n): # write code here count=0; for i in range(0,32): if n&1:原创 2016-10-16 21:02:08 · 2866 阅读 · 0 评论 -
矩形覆盖[剑指offer]之python实现
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?题目连接# -*- coding:utf-8 -*-class Solution: def rectCover(self, number): # write code here num=[]; num.app原创 2016-10-16 14:36:08 · 1968 阅读 · 0 评论 -
变态跳台阶[剑指offer]之python实现
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目链接# -*- coding:utf-8 -*-class Solution: def jumpFloorII(self, number): # write code here ans=[]; ans.append(0);原创 2016-10-14 16:53:39 · 2590 阅读 · 2 评论 -
跳台阶剑指offer]之python实现
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目链接# -*- coding:utf-8 -*-class Solution: def jumpFloor(self, number): # write code here ans = []; ans.append(0); a原创 2016-10-14 16:14:02 · 1547 阅读 · 0 评论 -
斐波那契数列[剑指offer]之python实现
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39题目链接# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here num=[]; num.insert(0,0); num.i原创 2016-10-14 15:57:31 · 1390 阅读 · 0 评论