- 博客(29)
- 收藏
- 关注
原创 19 删除链表中的倒数第N个节点
给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz进阶:你能尝...
2022-04-03 17:48:17
98
原创 141 环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。提示:链表中节点的数目范围是 [0, 104]-105 <= Node.val <= 105pos
2022-04-03 17:46:03
102
原创 876 链表的中间结点
给定一个头结点为 head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next.
2022-04-03 17:43:40
116
原创 557 反转字符串中的单词
给定一个字符串s,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入:s = "Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"示例 2:输入: s = "God Ding"输出:"doG gniD"提示:1 <= s.length <= 5 * 104s包含可打印的 ASCII 字符。s不包含任何开头或结尾空格。s里 至少 有一个词。s...
2022-04-02 18:38:37
80
原创 344 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]提示:1 <= s.length <=.
2022-04-02 18:37:35
90
原创 189 轮转数组
给你一个数组,将数组中的元素向右轮转 k个位置,其中k是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99...
2022-04-02 18:36:30
107
转载 167 两数之和2
给你一个下标从 1 开始的整数数组numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答案 ,...
2022-04-02 18:20:05
103
原创 283 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]提示:1 <= nums.length <= 104-231<= nums[i] <= 231- 1进阶:你能尽量减少完成的操作次数吗?cla...
2022-04-02 18:16:42
230
转载 977 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.length <= 104-104 &.
2022-04-02 18:15:21
102
原创 35 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4提示:1 <= nums.length..
2022-04-02 18:06:35
96
原创 278 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n =.
2022-04-02 18:03:37
94
原创 704 二分查找
给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 ...
2022-04-02 18:02:06
250
原创 Where is the Marble?(STL)
Where is the Marble?Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginning, Raju would place the marbles one after another in ascendi...
2018-07-22 18:44:07
193
原创 HDU 1159 Common subsequence
Common SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 46050 Accepted Submission(s): 21145Problem DescriptionA subsequence of a gi...
2018-05-04 19:56:38
174
原创 HDU-1087 Super Jumping! Jumping! Jumping!
Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 46626 Accepted Submission(s): 21600Problem DescriptionNowaday...
2018-05-02 17:48:53
177
原创 hdu-1003 Max sum
Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 282173 Accepted Submission(s): 67021Problem DescriptionGiven a sequence a[1],a[2],a[3]...
2018-05-02 17:22:03
190
原创 Dynamic Programming-动态规划DP
动态规划(DP),一种用来解决一类最优化问题的算法思想以Fibonacci为例:(递归)//传统的递归思路int Fib(int n){ if(n==0||n==1) return 1; else return Fib(n-1)+Fib(n-2);}随着n越大,n前面的数被计算的次数重复就越多,复杂度高达O(n^2)int Fib(int n)...
2018-04-25 23:04:54
254
原创 归并排序
归并排序是一种基于“归并”思想的排序方法,本节主要介绍其中最基本的 2-路归并排序。2-路归并排序的原理是,将序列两两分组,将序列归并为 n/2 个组,组内单独排序;然后将这些组再两两归并,生成 n/4 个组,组内再单独排序;以此类推,直到只剩下一个组为止。时间复杂度为 O(nlogn)。输入一个6个数,归并排序:#include<cstdio>const int maxn=100...
2018-04-22 14:41:39
147
原创 Two pointers
思考一个问题,给一个数列(1,2,3,4,5,6),找出不同位置的数字相加等于x的数字的位置。常规思路是枚举法,双循环,但是它的时间复杂度为O(n^2)当n的规模很大时不可以承受。Two pointers 的时间复杂度仅为O(n),效率高#include<cstdio>#include<iostream>using namespace std;int TP(int ...
2018-04-22 13:59:56
208
原创 BinarySearch
在严格递增序列中找到给定的数字,当然可以线性查找,但是二分法的时间复杂度为O(logn),效率高。注意:二分查找的过程与序列的下标从0开始还是从1开始无关。例子:A[]为严格递增序列,left为二分下界,right为二分上界,x为欲查找的数字,二分区间为[left,right],传入的初值为[0,n-1]1:非递归实现:int binarySearch(int A[],int left,int r...
2018-04-21 22:24:20
377
原创 C++ sort排序
作为一个大一计算机系学生,上学期自学C语言,学了冒泡排序感觉好厉害的样子。。。直到我发现了C++里的sort函数。排序函数sort对给定区间所有元素进行排序。头文件:#include <algorithm> 语法描述为:sort(begin,end),表示一个范围,for example:int a[n],sort(a,a+n)//将是把数组a按升序排序这个函数会使oj效率提高好多。举...
2018-04-19 23:46:05
679
原创 棋盘问题
贴下原题:做了这么久终于遇到一个中文题目了!!!开心!!!棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions:59224 Accepted: 28437Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小...
2018-04-11 09:43:34
138
原创 POJ-Counterfeit Dollar
先贴下原题:Counterfeit DollarTime Limit: 1000MS Memory Limit: 10000KTotal Submissions:50454 Accepted: 15785DescriptionSally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are ...
2018-04-10 18:00:51
125
原创 POJ- Dividing
贴下原题:DividingTime Limit: 1000MS Memory Limit: 10000KTotal Submissions:74237 Accepted: 19419DescriptionMarsha and Bill own a collection of marbles. They want to split the collection among themselves so...
2018-04-09 17:27:46
178
转载 DFS深度优先搜索
/** * DFS核心伪代码 * 前置条件是visit数组全部设置成false * @param n 当前开始搜索的节点 * @param d 当前到达的深度,也即是路径长度 * @return 是否有解 */ bool DFS(Node n, int d){ if (d == 4){//路径长度为返回true,表示此次搜索有解 retu...
2018-04-08 18:59:09
102
原创 Poj-Packets
先贴上原题:DescriptionA factory produces products packed in square packets of the same height h and of the sizes 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. These products are always delivered to customers in the square...
2018-04-08 17:33:51
236
原创 用python画一个心
想要研究可视化数据的python初学者。嘻嘻,小尝试。一颗小心心import matplotlib.pyplot as plt from matplotlib import animation import numpy as np import math t = np.linspace(0, math.pi, 1000) x = np.sin(t) y = np.cos(t)...
2018-04-07 17:58:41
10221
原创 I Think I Need a Houseboat
其实这是一道纯数学思维的题目,很直白易懂,不过有个大前提,你得弄明白这一大段英语。题意大概是这样的,一个人,他家那一片呢,以圆心为中心,半圆形为区域,每年消失的面积为50,你输入一个坐标,输出那个点什么时候消失。其实这题的思路,就是先求出经过坐标的半圆的面积,再除50就好了,但也要小心一些小细节!#include<cstdio>#define PI 3.1415926//PI要为3....
2018-04-07 17:05:05
182
原创 Financial Management
挺水的一道题,从现在开始要习惯看一大段英语了这道题的大意呢,很简单,就是输入12个月的钱数,输出一个平均数就可以,保留两位小数。1.C语言#include<stdio.h>int main(){ int i; double a,sum=0; for(i=1;i<=12;i++) { scanf("%lf",&a); ...
2018-04-07 16:42:30
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人