
LeetCode
唐 昊
稳扎稳打,步步为营
展开
-
杂谈记录——整数转罗马数字
百位数字只能由 C,CD,D 和 CM 表示;十位数字只能由 X,XL,L 和 XC 表示;个位数字只能由 I,IV,V 和 IX 表示。千位数字只能由 M 表示;同样列举另外一种可能性。原创 2022-09-20 10:03:02 · 158 阅读 · 1 评论 -
LeetCode-1. 两数之和
暴力匹配public static int[] get(int target,int[] arr){ int[] res = new int[2]; int sum = 0; for (int i = 0; i < arr.length; i++) { if(arr[i] < target){ sum = target - arr[i]; for (int j转载 2022-03-31 16:48:15 · 112 阅读 · 2 评论 -
11. 盛最多水的容器(LeetCode记录)
public int maxArea(int[] a) { int max = 0; for(int i = 0, j = a.length - 1; i < j ;){ int minHeight = a[i] < a[j] ? a[i ++] : a[j --]; max = Math.max(max, (j - i + 1) * minHeight); } return max; }转载 2022-03-25 17:45:58 · 105 阅读 · 0 评论 -
求出数组中出现一次的数字
利用hash算法public int FirstNotRepeatingChar(String str) { if (str == null || str.length() == 0) return -1; char[] c = str.toCharArray(); LinkedHashMap<Character,Integer> hash=new LinkedHashMap<Character,Integer>原创 2022-03-19 11:14:06 · 219 阅读 · 0 评论 -
将一组数分成奇数和偶数(前奇,后偶)
问题描述有一组数据[1,2,3,4,5,6,7,8]需要将其分成[1, 3, 5, 7, 2, 4, 6]代码实现public static void sort(int[] arr, int left, int right) { // 定义左下标 int l = left; // 定义右下标 int r = right; // 定义临时变量 int temp = 0; // 当左下标原创 2022-03-18 12:47:28 · 608 阅读 · 1 评论 -
分解一个整数的连续和
问题描述输入:15输出:[1, 2, 3, 4, 5][4, 5, 6][7, 8]代码实现方法来源公式:(首项 + 末项 )* 项数 / 2也就是 (i + i + k) * k / 2 => (2 * i + k) * (k + 1) / 2 // 打印 数字 public static void printNum(int num) { int sum = 0; for (int i = 1; i < num / 2 + 1; i原创 2022-03-17 20:31:05 · 267 阅读 · 0 评论 -
求出1-n之间的素数(质数)
质数概念质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。最小的素数是2,也是素数中唯一的偶数;其他素数都是奇数。质数有无限多个,所以不存在最大的质数。 public void prinf(int n ){ for (int i = 2; i < n; i++) { if(get(i)){ System.out.print(i+" ");原创 2022-03-17 08:48:58 · 2494 阅读 · 2 评论 -
剑指 Offer 42. 连续子数组的最大和
// 动态规划 求出 一串数组,最大的组合 public int maxSubArray(int[] nums) { int len = nums.length; int max = nums[0]; int [] dp = new int[len]; dp[0] = nums[0]; for (int i = 1; i < len; i++) { // 求出当前值和上一步的值 + 当前值.原创 2022-03-16 21:40:00 · 90 阅读 · 1 评论 -
二叉树的层序遍历(递归非递归操作)
import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * * @param root TreeNode类 * @return int整型ArrayList<ArrayList<>&g原创 2022-03-16 19:12:10 · 614 阅读 · 1 评论 -
LeetCode-9. 回文数(笔记)
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它原创 2022-03-01 11:04:59 · 6985 阅读 · 0 评论 -
顺序储存二叉树----(韩顺平数据结构)笔记
顺序存储二叉树从数据储存来看,数组存储方式和树的存储方式可以转换,即数组可转换成树,树也可以转换成数组按照二叉树的构造,要以数组的形式去储存arr[1,2,3,4,5,6]在遍历数组arr时,可以前序中序后序的形式去遍历顺序存储二叉树的特点:顺序二叉树通常只考虑完全二叉树第n个元素的左子节点 2 * n + 1第n个元素的右子节点为 2 * n + 2第n个元素的父节点为 (n - 1 )/2n 表示二叉树的第几个袁术...原创 2022-02-27 10:29:09 · 313 阅读 · 0 评论 -
LeetCode笔记之404. 左叶子之和
计算给定二叉树的所有左叶子之和/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, Tre原创 2021-08-30 17:01:04 · 117 阅读 · 1 评论 -
leetcode笔记之70. 爬楼梯
题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶思路:一阶: (一种方案)1二阶:(两种方案)1 12三阶段:原创 2021-08-30 16:14:37 · 124 阅读 · 1 评论