4 朝阳宋哈娜

尚未进行身份认证

暂无相关简介

等级
TA的排名 19w+

LeetCode152. 乘积最大子数组

签到题,中等题。给你一个整数数组nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。这种题第一想法就是动态规划的思想,但是涉及到乘积与加减不一样,他很可能负负得正取到更大的。我就没想到除了当前最大以外,再设一个当前最小值,这样就可以避免遍历到下一个为负的情况了。我的代码逻辑是:以0为分段标记,记录当前段的值tmpNum,当前段中遇到...

2020-05-18 18:39:01

LeetCode--25. K 个一组翻转链表

给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->2->1->4->5难度是困难题,不过思路好想,就是实现的时候容易写错。我的思路:1.首...

2020-05-16 21:51:37

LeetCode--560. 和为K的子数组

给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数k的范围是[-1e7, 1e7]。刚开始看到的时候想到了用HashMap记录前n项和,以及用当前前n项和减去之前任意的,如果有值为k,那么就有一组存在,但是我没想到的是map&l...

2020-05-16 10:08:07

LeetCode--50. Pow(x, n)

计算x的n次方。n为整数。-100.0 <x< 100.0 n是 32 位有符号整数,其数值范围是[−2^31,2^31− 1]中等题。这个题大家应该都能想到递归的方式计算,这里主要记录一下官方给的非递归解法。递归的代码如下: public double simPow(double x, int n){ //double tmp; if(n == 0) return 1.0; doub...

2020-05-11 15:49:30

LeetCode--236. 二叉树的最近公共祖先

难度中等题。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。思路有多种。 1. 纯粹的自底向上。后序遍历中,先找到该节点,那么返回一个true。当某个节点的左右子树都返回true时,该节点就是要求的。如果两个点是祖先后代关系,那么返回为当前节点值等于其中一个查询值且一个子树为true...

2020-05-10 18:11:26

LeetCode--221. 最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4我的思路:我用的是暴力,但是过程有所优化。我找的是遍历过程中该点最大的正方形边长。优化思路是:假设当前节点dp(i,j)为0,那正常后移一位计算dp(i,j+1)。如果do(i,j)==1,标记tmpRes = 1,接下来计算dp(i+1,j+1),如果也是1,那就计算这个点对应的这个列是否都为1,如果有其

2020-05-08 23:22:47

LeetCode--572. 另一个树的子树

给定两个非空二叉树 s 和 t,检验s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。难度是简单题。但是方法多种多样,有些方法考验功底的。我想到了两种。第一种:对s进行层次遍历,他的每个节点为根的子树与t进行比较。很明显这种方法好写,但是效率不高。第二种:对其进行先序排列,同时给叶节点的孩子节点设...

2020-05-07 23:27:18

LeetCode--983. 最低票价

动态规划的思想。我们不仅要从开始往后找最优解。像这种能晚发生就晚发生的可以逆向,从后往前找。在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为days的数组给出。每一项是一个从1到365的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为costs[0] 美元;一张为期七天的通行证售价为costs[1] ...

2020-05-06 23:05:10

LeetCode--98. 验证二叉搜索树

5.5日签到题。给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。我的思路:我想到的有两种解法: 1.形式上简单,时间空间复杂度较高。用递归直接中序遍历得到该二叉树的排序,如果符合条件,那么这个序列就是严格的递增序列...

2020-05-06 09:09:17

LeetCode--45 跳跃游戏 II

签到题。先吐槽一下,标的是困难题,可是感觉难度还不如有些简单题。。。不知道怎么定的难度标准。给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 ...

2020-05-04 12:08:29

LeetCode--53 最大子序和

leetcode签到题描述 :给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。(备注是道简单题,但是可能刚开始细节没想好,所以修改了一个小时才完全改好细节。。。)输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。我的思路:首先定义三个变量 ...

2020-05-03 11:01:44

LeetCode-365-水壶问题

有两个容量分别为x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的z升水。你允许:装满任意一个水壶清空任意一个水壶从一个水壶向另外一个水壶倒水,直到装满或者倒空官方给出的递归方式不太赞成,具体解释可以看官方,感觉还是考数学知识,贝祖定理。可以构建ax+by=z。找到x y的最...

2020-05-02 22:23:24

LeetCode-3找到字符串中最长子不重复子串的长度

描述:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。难度:中等题。我的思路是:类似于局部最优的思想吧。把字符串遍历一遍,找到开头到遍历过程中的最长不重复子串长度,最后得到的就是结果。思想是:首先new一个HashMap,key是遍历过程中的字符,val是在字符串中的下标。 为了简化思想,构建三个变量: res,最终的长度;...

2020-05-02 14:52:02

leetCode——836 签到 矩形是否重叠

题目很简单。给定两个整形数组,长度为4,分别为矩形左下角坐标和右上角坐标,判断是否重合。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:输入:rec1 = [0,0,1,1], rec2 = [1,0,2,1]输出:false这里有两种大方向思路:1.考虑重叠的情况 2.考虑不重叠的情况算法思维...

2020-03-18 23:39:59

LeetCode——1 寻找两数之和为指定数

描述: 输入:一个整数的数组,一个整数。寻找两个数之和为这个整数的所在下标(假设只有一组能满足) 返回:一个Int[2] 的数组,得到两个数的下标。又是一道简单题,不过明显感觉自己基础忘了不少,居然没想到用HashMap,第一反应就用了两个for。先上自己的代码。再上HashMap的方法代码。/*这是自己写的两个for*/public st...

2020-03-16 15:31:21

LeetCode刷题——字符串压缩

好久没刷题了,重新开始。描述: 输入:aaabbccc 返回:a3b2c3 如果返回的长度不小于输入的,则返回输入的String。简单题,不多说,当做记录。 public static String compressString(String S){ StringBuffer result = new St...

2020-03-16 11:12:46

新建Django的一点小小的麻烦,记录一下

自己win10之前作死装了多个py(最少2个3.6两个3.7)。然后新建Django后项目的python是新建的独立环境,但是terminal中还是默认的python环境,这时候要注意进到当前项目独立环境下可自动选择执行当前环境的python。同时如果对项目中的文件进行新建等等操作,记得相对路径。...

2019-09-05 15:38:04

pycharm一直处于connecting to console状态,且运行报错。

首先申明,不是无法连接到console,是一直这个样子,运行报的错也不是连接失败。1、打开Anacondacmd(也就是AnacondaPrompt,在启动栏Anaconda目录里应该有)2、输入echo%PATH%获得PATHvalue如果是使用win7系统,在电脑的cmd中输入echo%PATH%>path_val.txt3、在PyCharm中...

2019-03-26 16:50:47

php入坑系列

php入门

2017-03-18 22:47:55

看过去小程序的疑惑

问题 C 最大乘积时间限制: 1 Sec 内存限制: 128 MB[提交]题目描述输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列,如果这个最大的乘积不是正数,则输出-1输入输入包括多组数据,每组数据第一行为正整数n,第二行为n个元素组成的序列S,1输出输出每组数据的结果后换行样例输入32 4 -352 5 -

2016-05-06 20:56:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)