自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 举例说明生产者与消费者问题,wait为何与while而if一起使用(如有错误,欢迎指正)

以下代码为马士兵老师的高并发课程代码,看视频未听明白,于是对代码进行了部分修改,并举例说明wait为何与while而非if一起使用(如有错误,欢迎留言指正)/** * 面试题:写一个固定容量同步容器,拥有put和get方法,以及getCount方法, * 能够支持2个生产者线程以及10个消费者线程的阻塞调用 * * 使用wait和notify/notifyAll来实现 * * @...

2019-10-24 15:14:50 554

原创 12. Integer to Roman

最近发现CSDN上的垃圾信息太多了,一些兄弟什么玩意都往上边贴,搞得遇到问题检索时将优质答案隐没在了茫茫大海之中,效率太低,以及拷贝严重。Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.Symbol ValueI 1V ...

2018-12-14 20:13:49 110

原创 11. Container With Most Water

这题记得思路,直接把以前的代码重构了以下,稍微容易读了一些。Given n non-negative integers a1, a2, ..., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is...

2018-12-09 15:04:10 117

原创 10. Regular Expression Matching

以前做的题,现在又忘了,哎,为了找工作,这个东西就得不断练啊。不过发现需要递归来解决的问题,用动态规划时一种很好的思路Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'.'.' Matches any single c...

2018-12-09 14:40:14 95

原创 9. Palindrome Number

中午去图书馆,有插座的座位都被占了,看我的y7000p能抗多久。。。Determine whether an integer is a palindrome. An integerisapalindrome when itreads the same backward as forward.Example 1:Input: 121Output: trueExample...

2018-12-09 12:12:25 77

原创 8. String to Integer (atoi)

做这道题刚才踩了第7题留下的坑,233,加深了对第7题理解。也学会了对数组越界的一种判断方法Implement atoi which converts a string to an integer.The function first discards as many whitespace characters as necessary until the first non-whites...

2018-12-08 20:16:44 162

原创 7. Reverse Integer

这几天在公司实习,感觉进步缓慢,焦虑中Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21No...

2018-12-08 18:28:18 84

原创 6. ZigZag Conversion

这题以前写过,重新比第一次写快很多,思路很简单,看来刷题还是有用的!此次代码比以前的代码更加精炼。The string"PAYPALISHIRING"is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font...

2018-12-02 20:01:14 114

原创 5. Longest Palindromic Substring

为了快速提高自己的水平,多看好的风格的代码,防止闭门造车。Given a strings, find the longest palindromic substring ins. You may assume that the maximum length ofsis 1000.Example 1:Input: "babad"Output: "bab...

2018-12-02 19:05:05 99

原创 4. Median of Two Sorted Arrays

 做这道题花费了个人大量时间,但做出来之后就觉得没那么难了,之前的思路,主要是对边界值的处理感觉太复杂理不清。以下思路在边界值方面更不容易搞混淆There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The ove...

2018-12-02 17:14:07 92

原创 217. Contains Duplicate

今天刷 leetcode  "4. Median of Two Sorted Arrays",半天没看懂log(m +n) 算法的具体细节,十分懊恼,做一道简单题放松一下。这道题去北邮面试的时候还考过,当初直接用一个数组s,用index存input数组的值,用s[index] ,存储对应的下标,如果发现s[index]不是0,则说明已经出现,故重复。(默认index从1开始)Given an ...

2018-12-02 15:36:48 107

原创 3. Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.Example 1:Input: "abcabcbb"Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2:...

2018-11-25 14:05:14 112

原创 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 i...

2018-11-25 13:33:33 70

原创 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 ...

2018-11-25 13:29:26 57

原创 11. 盛最多水的容器

个人理解:为很会想到以下时间复杂度为O(n)的思路呢? 由题意可知此题意在比较(i-j)*Height的大小。本题使i,j分别从两边向中间靠拢,保持了length的单调递减,在length递减的条件下,要比之前的面积大,只有提升height,于是将原本较小的height舍弃,向中间靠拢,看是否有更大的面积。于是有疑问:你如何确定答案就在收缩的(i,j)对中呢?是因为,在舍弃较小的hei...

2018-10-07 14:56:05 114

原创 排序之基数排序

//定义最大数的位数 int len=3; int superpalindromesInRange(string L, string R) { int n[11]={0,49,38,65,97,76,13,27,49,55,4}; RadixSort(n,11); for(int c:n) cout<&...

2018-09-19 12:53:30 144

原创 排序之二路归并排序

分治思想//归并 void Merge(int R[],int left,int right) { int mid=(left+right)/2; int *p=(int *) malloc(sizeof(int)*(right-left+1)); int i=left,j=mid+1; int k=0; ...

2018-09-18 20:38:55 431

原创 排序之选择类排序

1.简单选择排序//简单选择排序    void SelectSort(int R[],int n)    {        int i,j,cur;        for(i=1;i<=n;i++){            cur=i;            for(j=i+1;j<=n;j++){                if(R[j]&lt...

2018-09-18 18:35:19 128

原创 排序之交换类排序

1.冒泡排序//冒泡排序void BubbleSort(int R[],int n) { int i,j; int flag;//在一趟循环过程中为发生交换,则代表已经有序 for(i=1;i<=n;i++){ flag=1; for(int j=2;j<=n;j++){ ...

2018-09-17 14:29:36 113

原创 排序之插入类排序

1.直接插入排序//思想:从无到有,数组一直保持有序递增,新来的元素P与数值R从末到首比较,若P小于数组数值,则将数组值后移,为P的插入预留空间//R从R[1]开始储存,最坏情况下时间R中元素递增,时间复杂度为O(n^2),空间复杂度为O(1) void InsertSort(int R[],int n) { int i,j; int te...

2018-09-17 13:36:16 101

原创 905. 按奇偶校验排序数组

给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。 示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。 提示:1 <= A.length <= 5000 0 <= A[i]...

2018-09-16 22:32:41 270

原创 904. 水果成篮

在一排树中,第 i 棵树产生 tree[i] 型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。 移动到当前树右侧的下一棵树。如果右边没有树,就停下来。请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,然后执行步骤 2,依此类推,直至停止。你有两个篮子,每个篮子可以携带任何...

2018-09-16 22:30:26 575

原创 907. 子数组的最小值之和

给定一个整数数组 A,找到 min(B) 的总和,其中 B 的范围为 A 的每个(连续)子数组。由于答案可能很大,因此返回答案模 10^9 + 7。 示例:输入:[3,1,2,4]输出:17解释:子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。 最小值为 3,1,2,4,1,1,2,1,1,...

2018-09-16 22:14:28 1154

原创 882. 细分图中的可到达结点

从具有 0 到 N-1 的结点的无向图(“原始图”)开始,对一些边进行细分。该图给出如下:edges[k] 是整数对 (i, j, n) 组成的列表,使 (i, j) 是原始图的边。n 是该边上新结点的总数然后,将边 (i, j) 从原始图中删除,将 n 个新结点 (x_1, x_2, ..., x_n) 添加到原始图中,将 n+1 条新边 (i, x_1), (x_1, x_2)...

2018-09-15 18:19:33 498

原创 880. 索引处的解码字符串

给定一个编码字符串 S。为了找出解码字符串并将其写入磁带,从编码字符串中每次读取一个字符,并采取以下步骤:如果所读的字符是字母,则将该字母写在磁带上。 如果所读的字符是数字(例如 d),则整个当前磁带总共会被重复写 d-1 次。现在,对于给定的编码字符串 S 和索引 K,查找并返回解码字符串中的第 K 个字母。 示例 1:输入:S = "leet2code3", K = 10...

2018-09-15 18:10:20 302

原创 881. 救生艇

第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,...

2018-09-15 18:05:02 331

原创 883. 三维形体投影面积

在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy、yz 和 zx 平面上的投影。投影就像影子,将三维形体映射到一个二维平面上。在这里,从顶部、前面和侧面看立方体时,我们会看到“影子”。返回所有三个投影的总面积。...

2018-09-15 18:02:50 243

原创 481. 神奇字符串

神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则:字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身。字符串 S 的前几个元素如下:S = “1221121221221121122 ......”如果我们将 S 中连续的 1 和 2 进行分组,它将变成:1 22 11 2 1 22 1 22 11 2 11 22 .........

2018-09-14 18:37:28 321

原创 61. 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4-

2018-09-12 20:56:45 98

原创 762. 二进制表示中质数个计算置位

给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 个计算置位,3 是质...

2018-09-12 20:37:18 147

转载 898. 子数组按位或操作

我们有一个非负整数数组 A。对于每个(连续的)子数组 B = [A[i], A[i+1], ..., A[j]] ( i <= j),我们对 B 中的每个元素进行按位或操作,获得结果 A[i] | A[i+1] | ... | A[j]。返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。) 示例 1:输入:[0]输出:1解释:只有一个可能的结果 0 。...

2018-09-11 22:22:22 1227

原创 113. 路径总和 II

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...

2018-09-08 09:41:07 81

原创 283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。思路如下:class Solution {public: void moveZeroes(vector<int>&am...

2018-09-02 20:05:42 84

原创 32. 最长有效括号

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"解答:本题适合借助栈进行解决,由于本人一心想用动态规划,故未借助栈来进行实现,代码以及思路都反应在代码中clas...

2018-08-20 21:01:39 152 1

原创 Leetcode 10. 正则表达式匹配

给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符。'*' 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p...

2018-08-19 21:10:39 150

原创 8. 字符串转整数 (atoi)

实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字...

2018-08-15 20:49:25 77

原创 70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...

2018-08-12 15:23:24 117

原创 856. 括号的分数

856. 括号的分数 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:() 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。 示例 1:输入: "()"输出: 1示例 2:输入: "(())"输出: 2示例 3:输入: "()()"输出: 2...

2018-08-11 16:14:56 826

原创 878. 第 N 个神奇数字

如果正整数可以被 A 或 B 整除,那么它是神奇的。返回第 N 个神奇数字。由于答案可能非常大,返回它模 10^9 + 7 的结果。 示例 1:输入:N = 1, A = 2, B = 3输出:2示例 2:输入:N = 4, A = 2, B = 3输出:6示例 3:输入:N = 5, A = 2, B = 4输出:10示例 4:输入:N...

2018-08-08 15:42:20 1065

斯坦福编程方法学英文字幕

斯坦福编程方法学C106A,PDF文件,共28讲,可在学习编程方法学是提高英语水平

2016-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除