- 博客(9)
- 收藏
- 关注
原创 大数的进制转换
题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述:每行输出对应的二进制数。示例1输入0138输出01111000#include<stdio.h>#inclu...
2019-05-19 20:12:50
174
原创 Leetcode刷题笔记(7)
今天想记录的方法是Branch and Bound。这是一个分枝与剪枝的过程,通过合理的bound可以显著降低搜索算法的复杂度。题目:组合综合给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括ta...
2019-03-03 17:22:51
109
原创 LeetCode刷题笔记(6)
题目:盛水最多的容器给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此...
2019-02-25 15:01:06
123
原创 LeetCode刷题笔记 (5)
关于动态规划(Dynamic Programming)动态规划的基本思想是将一个问题划分为若干个子问题,并且每一个子问题可以用同样的方式递归解决。动态规划与分治算法最大的区别是,动态规划划分的子问题之间不是相互独立的,即可以通过存储中间步骤结果的方法来加快程序的运行速度。题目:正则表达式匹配给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。...
2019-02-25 00:12:28
105
原创 LeetCode刷题打卡(4)
题目:无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。要查找无重复字符的最长子串,至少要从左往右扫描一遍。为了确定字符串有无重复及重复的位置,我使用哈希表来...
2019-02-19 10:23:54
121
原创 LeetCode刷题打卡(3)
题目:回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。首先,可以排除负数。负数一定不是回文数。拿到这一题,我感觉思路和整数翻转那道题差不多,通过比较翻转后的数与原来的数是否相等,可以判断该数是否为回文数。因为要考虑int溢出的问题,且已经排除了负数,我把翻转后的数定义为unsigned int。class Solution {pub...
2019-02-18 11:45:10
107
原创 LeetCode刷题打卡(2)
题目:整数翻转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。这一题较为简单,不过需要判断是否溢出。需要比较当前结果ans和int可以表示的最大整数/10及最小负数/10的大小。具体的判断逻辑间如下C++代码。...
2019-02-18 10:38:50
76
原创 LeetCode刷题打卡(1)
题目:两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...
2019-02-18 09:54:43
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人