3 w͏l͏j͏

尚未进行身份认证

我要认证

天道酬勤

等级
TA的排名 11w+

Leetcode 226 翻转二叉树(递归)

226. 翻转二叉树难度简单573翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1思路:递归翻转就好,先翻转根,然后翻转左子树,然后翻转右子树。...

2020-09-15 12:48:55

Leetcode 70 爬楼梯(c++)

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

2020-09-15 11:35:08

Leetcode 206 反转链表(栈实现,Java击败100%)

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list思路:空间换时间。遍历链表,将其入栈,按出栈顺序构建新的链表返回即可,因为栈是先进后出的数...

2020-09-14 22:20:47

leetcode 169多数元素 (map实现)

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element实现思路:遍历数组,如果元素在map中,就用key索引元素,把对应的valu...

2020-09-06 21:01:10

leetcode 14最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix思路:如果string数组为空,那么return “...

2020-09-04 12:45:39

leetcode 191. 位1的个数

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000中,共有...

2020-09-03 21:46:16

leetcode 485. 最大连续1的个数

给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含0 和1。输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones思路:遍历数组,cnt用来记录从当前1到遇到0的距离,如果大于结果res,更新...

2020-09-02 22:36:51

连续子数组的最大和 剑指offer 42 || leetcode 53

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示:1 <=arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...

2020-09-01 22:18:37

洛谷1443 马的遍历 BFS

马的遍历P1443思路:从开始的点map[sx][sy]开始广搜,需要注意的是要记录三个状态,当前位置的横纵坐标加上到当前位置的步数,可以借助结构体来实现。广搜后如果没有被访问到的,就是永远也访问不了的,记为-1.#include <iostream>#include <cstring>#include <queue>#include <cstdio>using namespace std;struct Data{ int x;

2020-08-22 23:20:21

计算矩阵鞍点

题目链接给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25思路:计算出每一行的最大值,更新到mx数组,计算出每一列的最小值,更新到mn数组,然后遍历数组,如果A[i][j]==mx[i] && A

2020-08-22 19:11:23

洛谷 1162 填涂颜色 BFS

洛谷1162题目链接由数字0和1组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下:涂色前:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1涂色后:0 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 .

2020-08-22 18:10:59

Leetcode Two Sum

思路:利用Map,遍历数组,如果target-num[i]在哈希表中,那么返回两者的下标,否则将num[i]加入到map中。即使数组中存在相同的数字,也不会是map的key冲突,根据题设不可能会有两个答案,如果第一个存入的数字永远不满足题设,那么后面存入的和它相同的数字也不会满足题设,或者说没有必要存重复的。class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integ

2020-08-02 17:23:27

C++顺序表的操作

仅为记录学习,写的不好勿喷#include<iostream>#define MAXSIZE 100#define Y 1#define N 0using namespace std;typedef struct SqList { int data[MAXSIZE];//存数据 int length;//存长度}SqList;void init(SqList &L) { int n; cout << "请输入你的初始数组的长度:" <<

2020-08-02 16:56:27

LC132. Palindrome Partitioning II 划分回文串

Given a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.Example:Input: "aab"Output: 1Explanation: The palindrome partitioning ["aa","b"] could be pr.

2020-08-02 16:54:12

LIS 最长上升子序列的长度 LeetCode 300

package com.dp;/**** @author wanglj** @time 2020-7-29 23:36:17** @filecomment ** @fileName Solution.java** @packageName com.dp** @Todo LIS LC300 最长上升子序列的长度**///i状态可以从在它之前比它小的数字状态转换过来/* * 例如nums{2,3,5,1,6} * dp[0] = 1 {2} * dp[1] = max{dp[0]+.

2020-08-02 16:51:37

跳跃问题 jump game (1 & 2) Leetcode

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

2020-08-02 16:47:07

Github进不去解决方法

按以下方法修改hosts文件,注意hosts文件只有在管理员权限下才可以修改,hosts文件所在目录为:C:\Windows\System32\drivers\etc\hosts,注意修改右下角显示所有文件才可以看到。https://www.ipaddress.com/ip-lookup用此网站查找github.com和github.global.ssl.fastly.net对应的ip,然后添加hosts文件以下内容:github.com的ip github.comgithub.glo...

2020-07-31 01:30:19

基础动态规划题

//Dynamic Programming test//No1 Lintcode 669 coin changes/*DescriptionYou are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If tha.

2020-07-29 00:44:51

C++ 单链表

完整代码如下:/** @author wanglj* @date 2020.7.26*/#include<iostream>typedef struct LinkNode { int data; LinkNode* next;}Node;Node* CreatList(Node* Head) { Head->next = NULL; Head->data = -1; return Head;}//前插法void AddNodefront(Node.

2020-07-26 13:20:11

Java实现二叉树的前、中、后序遍历和前序查找

二叉树定义类,通过根节点实现二叉树的索引:package cn.tree.test;import cn.tree.java.*;public class BinaryTree { Node root; //设置根节点 public void setRoot(Node root) { this.root = root; } //获取根节点 public Node getRoot() { return root; } //前序 public void frontShow()

2020-06-10 20:52:57

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。