![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
last_long
这个作者很懒,什么都没留下…
展开
-
leetcode7. 整数反转
7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设, 如果反转后整数溢出那么就返回 0...原创 2020-05-04 18:20:13 · 166 阅读 · 0 评论 -
leetcode6,z字形变换
字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行...原创 2020-05-04 17:03:11 · 117 阅读 · 0 评论 -
leetcode5
5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 这个题不难,基本思想就是选定一位k然后朝两边扩散。 两个for循环,第一个是当前为作为中心点扩散,第二个是当前位和下一个作为中心点,...原创 2020-05-01 01:32:14 · 674 阅读 · 0 评论 -
leetcode4. 寻找两个有序数组的中位数
4. 寻找两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1, 2] nums2 ...原创 2020-04-29 19:21:05 · 96 阅读 · 0 评论 -
leetcode3. 无重复字符的最长子串
3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重...原创 2020-04-29 17:43:01 · 109 阅读 · 0 评论 -
LeetCode2
这道题用的时间有点长,但是其实这道题很简单,只是有个别细节没有注意 2.两数相加 题目 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 ->...原创 2020-04-29 00:02:21 · 95 阅读 · 0 评论 -
leetcode1. 两数之和
1.两数之和 这道题没有任何难度,但发现一个思路很奇特的代码,对比并总结一下别人的优秀代码 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数, 并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0...原创 2020-04-28 21:44:52 · 114 阅读 · 0 评论 -
所有子序列的回文数出现次数
输入一个字符串,判断这个字符串的子序列回文数个数,这个子序列可以不连续,但是要有前后次序,而且不同位置的元素就算一个例如XXY,输出4,因为X,X,Y,XX package test; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Scanne...原创 2018-04-09 22:13:12 · 256 阅读 · 0 评论 -
棋盘覆盖
棋盘覆盖问题描述在一个2^k×2^k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有4的k次方种,要用以下四种L行的方块将其完全覆盖,且不得有方块重复覆盖解题思路: 分析:此题可以用分治策略进行算法设计,当k>0时,我们可以将2^k-1*2^k-1 棋盘分割成2^k×2^k 的子棋盘,特殊方格每次位于4个较小棋盘...原创 2018-03-29 17:33:49 · 222 阅读 · 0 评论 -
用链表实现约瑟夫环
#include #include struct stu{//ID用来保存序号 int ID; struct stu* next; }; struct stu*creat(struct stu *pHead,int n)//创建一个具有n个节点的循环链表 { struct stu *pNew,*pEnd; int i=1; pHead=(struct stu *)malloc(size原创 2017-05-03 16:17:23 · 496 阅读 · 0 评论 -
输入五维数组走迷宫
输入五维数组走迷宫 #include #include #include #include using namespace std; int map[7][7]; int vis[7][7]; int d[4][2]={1,0,0,1,0,-1,-1,0}; struct node{ int x,y; int step; node *l原创 2017-03-30 18:04:35 · 1020 阅读 · 1 评论 -
L - Oil Deposits
L - Oil Deposits //油田问题 #include #include char a[100][100]; int flag[100][100]; int round[8][2]={{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,-1},{-1,1},{1,-1}}; void pandua原创 2017-03-28 22:24:56 · 247 阅读 · 0 评论