3 Xiami2019

尚未进行身份认证

暂无相关简介

等级
TA的排名 8w+

每日一题:和可被K整除的子数组

给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]遇见子数组和的相关问题,优先考虑前缀和的做法。这里因为是整除的问题,所以前缀和需要用求模后的结果表示。class Solu.

2020-05-28 10:02:56

每日一题:解码字符串

给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例1:s = “3[a]2[bc]”, 返回 “aaabcbc”.s = “3[a2[c.

2020-05-28 09:25:02

每日一题:寻找重复数

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例1:输入: [1,3,4,2,2]输出: 2示例2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组;时间复杂度小于O(n^2);空间复杂度为O(1);数组中只有一个重复数字,但它可能不只重复出现一次;将index和nums[index]之间连一条边,即从index可以转移到nums[ind.

2020-05-26 15:34:19

每日一题:验证回文字符串

给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例1:输入: “aba”输出: True示例2:输入: “abca”输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。使用贪心算法。设置两个指针分别指向字符串头和字符串尾,向中间判断是否是回文。如果第一次出现不相等,因为可以删除一个字符,所以可以再次判断[low+1, high]和[low, high - 1]这两个区间是不是回文字符串。# 贪.

2020-05-19 12:25:06

每日一题:和为K的子数组

给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例1:输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明:数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。采用前缀和的方法,依次计算每个位置的前缀和,并判断是否有减去k的前缀和出现,然后加上对应的前缀和出现的次数。class Solution {publi.

2020-05-15 16:04:57

Python的函数传参

Python的函数传参不分传值或是传引用,它传入的是对象的id,即对象的内存地址。所以可以修改这个内存地址上的数据,但是无法改变这个内存地址,即无法用新的对象来替换旧的对象(赋值不会修改传入的参数)。例子:假如有一个函数,需要实现将传入的list列表反转的功能:def test(nums): nums = nums[::-1] # 使用列表切片,赋值给nums由于列表切片会产生一个新的对象,拥有一个新的id,所以上面的代码相当于将一个新的id赋予一个旧的id,但是这个参数的id是不会改变的,所以

2020-05-13 21:21:50

每日一题:快速幂

实现 pow(x, n) ,即计算 x 的 n 次幂函数。快速幂的基本思想就是,将指数转换成二进制形式,然后计算每一位1的贡献。class Solution {public: double quickMul(double x, long long N) { double ans = 1.0; // 贡献的初始值为x double xContribute = x; // 在对N进行二进制拆分的同时计算答案 whi.

2020-05-12 09:52:51

HTML的各种标签

笔记来自:https://www.w3school.com.cn/1. <div>标签<div> 标签可以定义文档中的分区或节(division/section)。<div> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。如果用id或class来标记,那么该标签的作用会变得更加有效。用法<div> 是一个块级元素。这意味着它的内容自动地开始一个新行。实际上,换行是<div>固有的唯一格式.

2020-05-11 11:04:26

C++ string和int相互转换

int转string使用std::to_string(int),返回一个转换好的string字符串;#include <string> // string, std::to_stringusing namespace std; int main(){ int n=100; string str=to_string(n); return 0;...

2020-05-02 15:51:58

C++ list用法

C++的STL中的list容器实现了一个双向链表。函数接口:list::assign将新的内容分配个列表容器,替换当前内容;list::back()返回列表最后一个元素的引用;list::begin()返回指向列表头元素的迭代器;list::cbegin()返回指向列表头元素的常量迭代器;list::cend()返回指向列表尾元素下一个位置的常量迭代器;list::clea...

2020-05-02 15:37:45

每日一题:山脉数组中查找目标值

示例1:输入:array = [1,2,3,4,5,3,1], target = 3输出:2解释:3 在数组中出现了两次,下标分别为 2 和 5,我们返回最小的下标 2。示例2:输入:array = [0,1,2,4,2,1], target = 3输出:-1解释:3 在数组中没有出现,返回 -1。二分查找因为山脉数组由一个递增序列和一个递减序列两个单调序列组成,所以先使用二...

2020-04-29 11:28:48

每日一题:数组中数字出现的次数

一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums <= 100...

2020-04-28 11:17:35

Go语言核心特性简介

Go代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。它是一个快速的、静态类型的编译型语言,但表现的却像动态类型的解释型语言。Go语言的主要特性有:1. 并发编程Go语言在并发编程方面比绝大多数语言要简介不少。不同于传统的多线程或多进程,Go语言的并发执行单元是一种称为goroutine的协程。协程又称微线程,比线程更轻量、开销更小、性能更高。并在语言级别提供了关...

2020-04-25 01:03:22

每日一题:硬币

硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1:输入: n = 5输出:2解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2:输入: n = 10输出:4解释: 有四种方式可以凑成总金额:10=1010=5+510=5+1+1+1+1+110...

2020-04-23 12:04:30

字节跳动高频:缺失的第一个正数

给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 1提示:算法的时间复杂度应该为O(n),并且只能用常数级别的额外空间。寂寞围绕这电视,垂死坚持,在两点半消失索引作为哈希键值易证,缺失的最小正数一定小于或等于n+1...

2020-04-20 21:47:36

每日一题:岛屿数量

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:11110110101100000000输出: 1示例2:输入:11000110000010000011输出: 3解释: 每座岛屿只能由水...

2020-04-20 11:00:16

每日一题:统计重复个数

由 n 个连接的字符串 s 组成字符串 S,记作 S = [s,n]。例如,[“abc”,3]=“abcabcabc”。如果我们可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。例如,根据定义,“abc” 可以从 “abdbec” 获得,但不能从 “acbbe” 获得。现在给你两个非空字符串 s1 和 s2(每个最多 100 个字符长)和两个整数 0...

2020-04-19 15:41:36

LeetCode笔记:最长有效括号

给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”法一:动态规划这个问题可以通过动态规划解决。定义一个dp数组,其中第i个元素表示以下标为i的字符结尾的最长有效子字符串的长度。将dp数...

2020-04-18 12:09:04

二叉树的前、中、后序遍历(递归与迭代写法)

二叉树的前序遍历二叉树的前序遍历指先访问头结点,再访问左子树,再访问右子树。递归写法class Solution { vector<int> ans; void preorder(TreeNode* root) { if (root == NULL) return; ans.emplace_back(root->val); ...

2020-04-17 14:25:17

每日一题:Jump Game

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到...

2020-04-17 11:49:38

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。