LeetCode
_JZWen
学习,总能是你进步。
展开
-
加一_LeetCode
package day03;/** * 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。 * @author JZWen * * 思路: 我的思路也是很简单,分成两种情况解决就可以 * 1、所有的都是9 * 2、else, * */...原创 2018-12-26 17:57:06 · 165 阅读 · 0 评论 -
堆排序算法
前置知识:我们的一个最大最小堆可以构成一个数组。以最大堆为例。当前节点下标是i,那么可以知道父节点:parent = (i - 1)/ 2左孩子:left = 2 * i + 1右孩子:right = 2 * i + 2//直接看代码吧package data_strust;/** * 堆排序 */public class Heap_sort { ...原创 2019-04-19 17:42:53 · 113 阅读 · 0 评论 -
字符串最小变换次数——动态规划
感觉自己算法太菜了。woc,想找一个算法大佬,给他做舔狗。package offer;/** * 动态规划求解-将字符串A变换为字符串B 所用的最少字符操作次数 */public class Day0418_demo01 { public static int fun(String s1 , String s2){ int len1 = s1.leng...原创 2019-04-18 15:07:24 · 2626 阅读 · 0 评论 -
无重复字符的最长子串_LeedCode
/** * */package hday01;/** * 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 * * 思路:采用滑动窗口 快慢指针 * 意思就是 两个变量 i,j 一个头一个尾 分别指向字符串,将字符映射到数组上 *//** * @author JZWen * */public class Demo01 { public ...原创 2019-01-30 20:40:19 · 193 阅读 · 0 评论 -
反转字符串_LeetCode
这个题其实很简单,但是往往这种题就是想看看你的效率高不高,大家都可以做出来,就是看效率问题。1 不能在字符串上面操作,因为不断的修改字符串是效率低的,每次修改都要重新new一个对象出来。所以我们很容易就想到要使用 StringBuffer/** * */package day05;/** * @author JZWen * */public class Dem...原创 2018-12-31 16:14:51 · 120 阅读 · 0 评论 -
旋转图像_LeetCode
如果你没有写过线代或者对线代不是很熟悉的话,那就你可以学学我,先把图画出来 分别对象i , j 下标值 开始图0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3 经过旋转之后3,0 2,0 ...原创 2018-12-31 15:19:39 · 127 阅读 · 0 评论 -
两个数组的交集 II_LeetCode
自己想的一个比较烂的方法,我要是找到比较好的,我会贴在后面.。对此有疑问请回复留言。思路比较简单,都可以看得懂。 package day02;import java.util.HashMap;import java.util.Iterator;import java.util.Set;/** * 给定两个数组,编写一个函数来计算它们的交集。 * * @author J...原创 2018-12-25 17:05:20 · 193 阅读 · 0 评论 -
只出现一次的数字_LeetCode
package day02;/** * 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? * @author JZWen * * * 思路: 什么是线性时间复杂度,不使用额外的空间,定义一个变量算不算? * * 线性复杂度: o(n) ...原创 2018-12-25 15:52:52 · 125 阅读 · 0 评论 -
买卖股票的最佳时机 II_LeetCode
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 /** * 这个比较简单 * 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完...原创 2018-12-24 23:09:36 · 98 阅读 · 0 评论 -
有效的数独_LeetCode
自己写的代码public boolean isValidSudoku(char[][] board) { char str[] = new char[9]; //找横着的 for(int i=0; i<9; i++) { for(int j=0; j<9; j++) { str[j] = board[i][j]; }...原创 2018-12-27 20:24:29 · 236 阅读 · 0 评论 -
两数之和_LeetCode
/** * */package day03;import java.util.ArrayList;import java.util.List;/** * * 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 * @...原创 2018-12-26 18:40:36 · 99 阅读 · 0 评论 -
合并两个有序链表_LeetCode
递归的思路去做public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null) return l2; if (l2 == null) return l1; if(l1.val < l2.val){ l1.next = merg...原创 2019-06-18 00:06:50 · 132 阅读 · 0 评论