华为、中兴中国的IT行业为啥被美国人扼住喉咙?

说起来贸易战都大了一年多了。本来据说已经快结束了,现在因为一些在中方看起来是小问题的问题,又搞大了。

如果没有健忘症的话,其实应该记得贸易战之前我们的宣传口是怎么说话的,不是大国工匠,就是大国崛起,再不是就是中国制造咋的咋的。结果中兴一遭制裁,全国人民才如梦方醒的知道,原来看起来那么高科技的中兴离开美国的产品就彻底不转了。

继续阅读

LeetCode专题 分而治之

这几天我再次调整刷题的策略,目前的策略是重新通读认真学习《算法导论》,我曾经无数次看过算法导论,但是都是通读,而没有进行练习,所以知识根本没有掌握,浮于表面的浮光掠影。算法并不困难,但是需要大量的实操代码才能熟练。这是我以前只看不练的策略最大的问题。

继续阅读

LeetCode 第992题 Subarrays with K Different Integers【滑动窗口】(Java)

原题地址:https://leetcode.com/problems/subarrays-with-k-different-integers/

要求如下:

给定一个正整数的数组,寻找(连续,但是元素不一定不重复的)子数组,满足条件就是里面不同的数字的数量,正好是K个。
例如[1,2,3,1,2]有三个不同的数字,1,2,3。
要求返回这样的子数组的数量。

例 1:

输入: A = [1,2,1,2,3], K = 2
输出: 7
正好有两个数字的子数组包括 [1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2],7个。

例 2:

输入: A = [1,2,1,3,4], K = 3
输出: 3
正好三个数字的子数组包括[1,2,1,3], [2,1,3], [1,3,4]。

注意:

    1 <= A.length <= 20000
    1 <= A[i] <= A.length
    1 <= K <= A.length

继续阅读

LeetCode 第567题 Permutation in String【滑动窗口】(Java)

原题地址:https://leetcode.com/problems/permutation-in-string/

要求

给定两个字符串s1和s2,写一个函数,如果s2包含了s1的排列组合(permutation,就是字符长度跟s1一样,字符频率一样,但是字符出现的位置一样),则返回true。换句话说,第一个字符串的排列组合,是第二个字符串的子串。

例 1:

    输入为: s1 = “ab” s2 = “eidbaooo”

    输出为: True

例 2:

    输入为: s1= “ab” s2 = “eidboaoo”

    输出为: False

注意:

    输入仅包含小写字母,字符串长度范围是[1,10000]。

继续阅读

LeetCode 第438题 Find All Anagrams in a String【滑动窗口】(Java)

原题地址: https://leetcode.com/problems/find-all-anagrams-in-a-string/

要求

给定一个字符传s和一个非空字符串p,找到所有的p的变位词(anagrams,字符都一样,字符出现的位置不同)在s中的位置。仅包含小写英文单词,而且s和p的长度都不会超过20100。结果顺序不重要。

例 1:

输入: s: “cbaebabacd” p: “abc”

输出: [0, 6]

解释:

    0位置的子串为”cba”,是”abc”的变位词。
    6位置的子串为”bac”,是”abc”的变位词。

例 2:

输入: s: “abab” p: “ab”

输出: [0, 1, 2]

解释:

    0位置的子串为”ab”,是”ab”的变位词。
1位置的子串为”ba”,是”ab”的变位词。
2位置的子串为”ab”,是”ab”的变位词。

继续阅读

LeetCode 第424题 Longest Repeating Character Replacement【滑动窗口】(Java)

原题地址:https://leetcode.com/problems/longest-repeating-character-replacement/

要求:

给定字符串只包含大写英文字母,你可以替换任意一个字母,替换最多k次。找到这样操作后,最长的全部都是重复字符的子串长度来。

注意: 字符和k的长度都不到104。

例 1:

输入:

    s = “ABAB”, k = 2

输出:

    4

   把两个A换成B,或者反之

例 2:

输入:

    s = “AABABBA”, k = 1

输出:

    4

    把中间的A换成B,那么字符串变成”AABBBBA”,其中”BBBB”长度为4。

继续阅读

LeetCode 第30题 Substring with Concatenation of All Words【滑动窗口】(Java)

原题地址为:https://leetcode.com/problems/substring-with-concatenation-of-all-words/

要求

给定字符串s,和有一个单词列表words,每个词长度相等。在s中寻找,包含全部词,且每个词只出现一次,没有任何多余其他字符的子串。

例 1:

输入:

     s = “barfoothefoobarman”,

    words = [“foo”,”bar”]

输出:  [0,9]

    0,9分别对应了”barfoor”和”foobar” 

例 2:

输入:

    s = “wordgoodgoodgoodbestword”,

    words = [“word”,”good”,”best”,”word”]

输出: []

继续阅读

LeetCode 第3题 Longest Substring Without Repeating Characters【滑动窗口】(Java)

原题地址: https://leetcode.com/problems/longest-substring-without-repeating-characters/

要求如下:

给定一个字符串,找出最长的没有重复字符的子串。

例 1:

    输入为: “abcabcbb”

    输出位: 3

    答案是”abc”,长度为3。

例 2:

    输入为: “bbbbb”

    输出位: 1

    答案是”b”,长度为1。

例 3:

    输入为: “pwwkew”

    输出位: 3

    答案是”wke”,长度为3。

继续阅读