
牛客网
唐 昊
稳扎稳打,步步为营
展开
-
杂谈记录——论程序员式的幽默
运行一夜的 @一哥:哥的寂寞你不懂,不说了继续看运行日志了。文化评论区,@ 看来没点文化,评论都看不懂了。一顿操作猛如虎,点击提交超时了。二话不说翻题解,评论区里全人才。反反复复终得道,再次尝试却报错。行行检查字字改,击败用户百分五。段子手@ 一言不合就开***来源:15. 三数之和(原创 2022-09-26 11:21:52 · 313 阅读 · 2 评论 -
LeetCode15. 三数之和(记录笔记)
题目描述如果不考虑超时,我也算是做出来了public static List<List<Integer>> threeSum(int[] nums) { int len = nums.length; int temp; int sum = 0 ; boolean flag = false; List<List<Integer>> lists = new ArrayList&原创 2022-04-30 21:46:03 · 299 阅读 · 1 评论 -
奇安信---[编程题]三角形三边数字求和
如下图所示的三角形,有三个边s1,s2,s3,边s1有四个圆圈⭕️1,2,3,4,边s2有四个圆圈⭕️4,5,6,7,边s3有四个圆圈⭕️7,8,9,1把1-9这9个数字,分别填写到下图所示的9个圆圈圆圈里, 使每条边上的4个圆圈⭕️的和相等(9个圆圈里的数字不能重复)例如:s1=[1=>9,2=>8,3=>1,4=>3]=9+8+1+3=21,s2=[4=>3,5=>5,6=>7,7=>6]=3+5+7+6=21,s3=[7=>6,8=>2.原创 2022-03-11 22:41:38 · 904 阅读 · 1 评论 -
Java创建类的几种方式
1. 通过new关键字创建对象,按需调用我们所需的构造函数Object a = new Object();2. 通过class类的newInstance()方法class EmpObj{ private String name; public EmpObj() { } public String getName() { return name; } public void setName(String name) {原创 2022-03-10 10:42:49 · 9293 阅读 · 0 评论 -
多线程交叉打印数字(1-75)
package JTanG.ChinaEmp;import java.util.concurrent.locks.Lock;public class Test2 { public volatile static int flag = 0; public volatile static int i = 0; public static void main(String[] args) { Thread thread = new Thread(() ->原创 2022-03-11 17:43:15 · 318 阅读 · 1 评论 -
奇安信背包问题(记载)
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[] weight = {2, 3, 1,5,4,3}; //重量的分布 int[] val = {2, 2, 3,1,5,2};// 价值的分布 int n = in.nex.原创 2022-03-11 22:17:56 · 203 阅读 · 0 评论 -
Java动态代理JDK、CGLAB
事务:一般是指要做的事,在计算机中指的是访问并可能更新数据库中各种 数据项的一个程序执行单元ACID原则原子性:一个事务是是一个不可分割的工作单元,要么都做,要么都不做一致性:事务必须是从数据库从一个一致性到另一个一致性隔离性:一个事务的执行不受其他事务的干扰,即一个事务内部的操作及使用的数据对并发的其他事务都是隔离的,并发执行互不干扰持久性:一个事务一旦提交,它对数据库的改变就是永久的,对于接下来的操作就不应该有任何的影响...原创 2022-03-12 17:35:12 · 729 阅读 · 1 评论 -
求出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 评论 -
剑指 Offer II 022. 链表中环的入口节点
问题描述利用hash表 public ListNode detectCycle(ListNode head) { HashMap<ListNode, Integer> hashMap = new HashMap<>(); int i = 0; ListNode temp = head; while (temp != null){ if(hashMa原创 2022-03-16 21:35:53 · 96 阅读 · 1 评论 -
将一组数分成奇数和偶数(前奇,后偶)
问题描述有一组数据[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 评论 -
判断一个数字是否为丑数
说法一:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但7、14不是,因为它们包含质因子7。 习惯上我们把1当做是第一个丑数。前20个丑数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36。public static boolean checkChou(int num){ while (num % 2 ==0) num /= 2; while原创 2022-03-17 08:52:50 · 502 阅读 · 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 评论 -
找出最小的 K 个数
问题描述给定一串无序数组,给定K值,需要找出从1-k个有序数字例如:[1,2,5,3,2,3] k = 2输出:1 2解题思路利用堆排序对该数组进行排序,并每次取出堆顶元素,取出K个即可时间复杂度 O(logn)构建大顶堆 public void buildHeap(int[] input) { // for (int i = input.length / 2 - 1; i >= 0; i--) { adjustHeap原创 2022-03-19 11:15:05 · 320 阅读 · 1 评论 -
输入两个有序链表,合并后反转该链表
问题描述输入:[1,2,3] [4,5,6]输出:6 5 4 3 2 1代码实现package leetcode.lianbioa;import java.util.ArrayList;public class test1 { public static void main(String[] args) { Node node = new Node(1); Node node1 = new Node(2); Node node2 = n原创 2022-03-21 19:46:43 · 991 阅读 · 4 评论 -
如何将单个char字符转换为int类型数字
说明‘1’ ----> 1 (前面一个为char类型1,后面的为整型1)代码如下 public static int transform(char a){ return Character.isDigit(a)?Integer.valueOf(a - '0'):-1; }说明:Character.isDigit:检测所传入的字符是否为数字(根据结果返回TRUE,FALSE)a - '0'因为’0’的ASCII为48,数字1,2,3…递增,可以求原创 2022-03-07 11:15:07 · 1135 阅读 · 0 评论 -
基数排序算法回顾---(韩顺平数据结构)笔记
算法步骤原创 2022-02-27 10:14:51 · 818 阅读 · 0 评论 -
合并k个已排序的链表
采用逐步遍历 public ListNode mergeKLists(ArrayList<ListNode> lists) { ListNode root = new ListNode(-1); for(int i = 0 ;i< lists.size();i++){ root.next = mergeTwoLists(root.next,lists.get(i)); } return原创 2022-03-22 16:26:25 · 1094 阅读 · 3 评论 -
判断链表是否有环
哈希存储 public boolean hasCycle(ListNode head) { HashSet<ListNode> map = new HashSet<ListNode>(); ListNode temp = head; while(temp != null){ if(map.contains(temp)){ return true;原创 2022-03-22 16:24:57 · 593 阅读 · 2 评论 -
字符串逆序输出
使用StringBuilder的方式 public static String form(String arr){ LocalDateTime begin = LocalDateTime.now(); StringBuilder stringBuilder = new StringBuilder(); StringBuilder append = stringBuilder.append(arr); StringBuilder reverse原创 2022-03-25 17:44:18 · 398 阅读 · 2 评论 -
两个栈实现队列
package leetcode.lianbioa.project;import java.util.ArrayList;import java.util.List;import java.util.Stack;public class Day3 { public static Stack<Integer> stack1 = new Stack<>(); public static Stack<Integer> stack2 = new Sta原创 2022-03-29 12:04:51 · 384 阅读 · 1 评论 -
BM19 寻找峰值
解法一:使用目标值遍历比较 public static int findPeakElement(int[] nums) { if (nums.length < 3) { if(nums.length == 1 ){ return 0; } return nums[0] > nums[1] ? 0:1; } // write code here原创 2022-03-29 12:03:52 · 495 阅读 · 2 评论