- 博客(84)
- 收藏
- 关注
原创 我学习算法的心得
今天我想给大家分享一下我学习算法的一些心得,起因是有学弟问我两道题,在给他讲题的时候给他讲了一些我学习或者说研究算法的心得,我觉得可能会对大家有帮助所以想分享给大家。先上题说话吧:第一题:a和n均为1到9中的一个数字,编写程序请输入a和n,求s=a+aa+aaa+···+aaa(n个a)。大部分的同学看到这一道题的思路是,用循环依次生成a,aa,aaa,···,aaa(n个a),然后使...
2018-11-02 21:24:36 7984
原创 nodejs批量执行脚本实践
nodejs批量执行脚本实践在开发过程中往往需要执行一系列脚本,例如数据库脚本,测试脚本,使用nodejs可以很方便的找到脚本并执行,下面以eggjs的测试脚本为例进行展示。代码constfs=require('fs');constpath=require('path');constprocess=require('child_process');consttargetPathController=path.resolve('../test/app/co...
2021-09-13 10:32:40 820
原创 nodejs模拟tail -f的命令
需求tail-f的命令效果为挂起一个服务监控一个文件,当文件结尾内容输出,并当文件有新内容后追加输出。分析监控文件可以用fs.watchFile实现,fs.watchFile会挂起一个服务,监视文件的变化。每次访问文件时都会调用回调该方法的listener,下面是官方文档的例子:import{watchFile}from'fs';watchFile('message.text',(curr,prev)=>{console.log(`thecurre...
2021-09-13 10:30:46 433
原创 nodejs集成serialport+ws(WebSocket)实现扫描枪串口读取显示至前端页面
背景介绍要做一个项目,其中一个需求是扫描枪扫描二维码得到一个字符串,该字符串需要用到后端的数据查询也要同时显示到前端的文本框内,因为项目需要运行在arm架构的Linux系统上,所以市面上的扫码枪并没有直接驱动,所以需要使用串口进行通许。基本上翻遍了网上所有的博客,参考了一些,但得到但帮助不是很大,只好硬着头皮对着官方文档硬写,最后终于完成了demo,分享给后来者参考。项目结构...
2021-01-22 15:25:11 2160
原创 springboot集成spring data jpa使用CrudRepository中的api(gradle)
版本环境java:jdk-14.0.1springboot:v2.3.4.RELEASEgradle:gradle-6.7-rc-4IntelliJ IDEA:2020.1.2spring-boot-starter-data-jpa:v2.3.4.RELEASE实体类@NoArgsConstructor@ApiModel(value = "用户实体", description = "用户实体类")@Data@Table(name = "user")@Entitypublic cla
2020-10-21 14:36:56 381
原创 springboot集成spring data jpa使用JpaRepository中的api分页与排序(gradle)
版本环境java:jdk-14.0.1springboot:v2.3.4.RELEASEgradle:gradle-6.7-rc-4IntelliJ IDEA:2020.1.2spring-boot-starter-data-jpa:v2.3.4.RELEASE实体类@NoArgsConstructor@ApiModel(value = "用户实体", description = "用户实体类")@Data@Table(name = "user")@Entitypublic cla
2020-10-21 14:35:29 305
原创 springboot集成spring data jpa使用排序查询(gradle)
排序JpaRepository中的api/* * (non-Javadoc) * @see org.springframework.data.repository.PagingAndSortingRepository#findAll(org.springframework.data.domain.Sort) */@OverrideList<T> findAll(Sort sort);注:若findAll不填参数,可调用List findAll(); 返回结果为数据表中的所有数据
2020-10-20 19:21:30 559
原创 springboot集成spring data jpa使用分页查询(gradle)
分页查询service在UserService中添加下面的方法Page<User> find(Integer page, Integer size);并在UserServiceImpl中进行实现@AutowiredUserRepository userRepository;@Overridepublic Page<User> find(Integer page, Integer size) { PageRequest pageable = PageReque
2020-10-20 19:20:29 249
原创 springboot集成spring data jpa使用原生sql实现增删改查(gradle)
JPASpring Data JPA 是 spring data 项目下的一个模块。提供了一套基于 JPA标准操作数据库的简化方案。底层默认的是依赖 Hibernate JPA 来实现的。JPA的出现主要是为了简化持久层开发以及整合ORM技术,结束Hibernate、TopLink、JDO等ORM框架各自为营的局面。JPA是在吸收现有ORM框架的基础上发展而来,易于使用,伸缩性强。总的来说,JPA包括以下3方面的技术:ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射
2020-10-20 19:18:24 2356
原创 MybatisPlus二级缓存配置redis(gradle)
MybatisPlus二级缓存配置redis版本环境IntelliJ IDEA:2020.1.2java:jdk-14.0.1springboot:v2.3.4.RELEASEgradle:gradle-6.7-rc-4Redis server v=6.0.5springfox(swagger):version: '3.0.0'swagger-bootstrap-ui:version: '1.9.6'mysql-connector-java:version: '8.0.16'mybati
2020-10-20 19:14:51 377
原创 SpringBoot-2.3.4集成MybatisPlus-3.4.0(gradle)
SpringBoot-2.3.4集成MybatisPlus-3.4.0MybatisPlus官方文档版本环境IntelliJ IDEA:2020.1.2java:jdk-14.0.1springboot:v2.3.4.RELEASEgradle:gradle-6.7-rc-4springfox(swagger):version: '3.0.0'swagger-bootstrap-ui:version: '1.9.6'mysql-connector-java:version: '8.0.16
2020-10-20 19:13:50 455 1
原创 mac安装配置gradle
GradleGradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。官方文档(6.6.1)文档地址:点击查看gradle文档Gradle 下载与配置下载Gradle下载地址:点击下载gradle下载all版本的,里面包含了Gradle SDK 所有相关的内容,包括源代码、文档、示例等.配
2020-10-20 19:01:14 845
原创 SpringBoot-2.3.4集成Swagger3(gradle)
版本环境java:jdk-14.0.1springboot:v2.3.4.RELEASEgradle:gradle-6.7-rc-4springfox(swagger):version: '3.0.0'swagger-bootstrap-ui:version: '1.9.6'IntelliJ IDEA:2020.1.2swagger的配置前后端分离的项目,接口文档的存在十分重要。与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的开发环境下,手动编写文档的效
2020-10-20 18:58:41 1413
原创 算法练习(48) leetcode 41. 缺失的第一个正数
https://leetcode-cn.com/problems/first-missing-positive/class Solution { public int firstMissingPositive(int[] nums) { if(nums.length==0){return 1;}; for (int i = 0; i < nums.length; i++) { if (nums[i] <= 0) {
2020-09-25 11:07:58 85
原创 算法练习(47) leetcode 125. 验证回文串
https://leetcode-cn.com/problems/valid-palindrome/class Solution { public boolean isPalindrome(String s) { for (int i=0;i<s.length();i++){ if (!iscode(s.charAt(i))){ s=s.replace(Character.toString(s.charAt(i)),
2020-09-15 15:09:12 67
原创 算法练习(46) leetcode 205. 同构字符串
https://leetcode-cn.com/problems/isomorphic-strings/class Solution { public boolean isIsomorphic(String s, String t) { if (test(s,t)&&test(t,s)){ return true; } else { return false; } }
2020-09-11 17:27:59 89
原创 算法练习(45) leetcode 203. 移除链表元素
https://leetcode-cn.com/problems/remove-linked-list-elements//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode rem
2020-09-11 15:02:30 122
原创 算法练习(44) leetcode 202. 快乐数(HashMap)
https://leetcode-cn.com/problems/happy-number/class Solution { public boolean isHappy(int n) { Map<Integer,Integer> map=new HashMap<>(); while (next(n)!=1){ if (map.get(next(n))!=null){ return
2020-09-11 14:17:15 74
原创 算法练习(43) leetcode 204. 计数质数
https://leetcode-cn.com/problems/count-primes/class Solution { public int countPrimes(int n) { if (n<=2){ return 0; } List<Integer> list=new ArrayList<Integer>(); list.add(2); for (
2020-09-11 11:32:34 82
原创 算法练习(42) leetcode 216. 组合总和 III (复用算法练习(33) leetcode 77代码)
https://leetcode-cn.com/problems/combination-sum-iii/class Solution { public List<List<Integer>> combinationSum3(int k, int n) { List<List<Integer>> unans=combine(9,k); List<List<Integer>> ans=new
2020-09-11 10:23:44 83
原创 算法练习(41) leetcode 141. 环形链表(快慢指针)
https://leetcode-cn.com/problems/linked-list-cycle/public class Solution { public boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; } ListNode step1=head,step2=step1.next; while
2020-09-10 17:23:20 70
原创 算法练习(40) leetcode 82. 删除排序链表中的重复元素 II
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/class Solution { public ListNode deleteDuplicates(ListNode head) { boolean flag=true; ListNode ans=head,before=null; if (head==null||head.next==null){
2020-09-10 15:32:38 76
原创 算法练习(39) leetcode 83. 删除排序链表中的重复元素
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListN
2020-09-09 17:04:22 70
原创 算法练习(38) leetcode 137. 只出现一次的数字 II(排序找规律法)
https://leetcode-cn.com/problems/single-number-ii/class Solution { public int singleNumber(int[] nums) { if(nums.length==1){ return nums[0]; } Arrays.sort(nums); if (nums[0]!=nums[1]){ return n
2020-09-08 16:16:53 92
原创 算法练习(37) leetcode 136. 只出现一次的数字(HashMap)
https://leetcode-cn.com/problems/single-number/class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> map=new HashMap<>(); for (int num : nums) { if (map.containsKey(num)){
2020-09-08 16:01:54 68
原创 算法练习(36) leetcode 461. 汉明距离
https://leetcode-cn.com/problems/hamming-distance/class Solution { public int hammingDistance(int x, int y) { String stringx=reverse(Integer.toBinaryString(x)); String stringy=reverse(Integer.toBinaryString(y)); int ans=0,min
2020-09-08 15:30:09 74
原创 算法练习(35) leetcode 88. 合并两个有序数组
https://leetcode-cn.com/problems/merge-sorted-array/class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int[] trannums1=new int[m]; for (int i=0;i<m;i++){ trannums1[i]=nums1[i]; }
2020-09-08 14:43:19 80
原创 算法练习(34) leetcode 73. 矩阵置零 (空间O(m+n))
https://leetcode-cn.com/problems/set-matrix-zeroes/class Solution { public void setZeroes(int[][] matrix) { boolean[] x=new boolean[matrix[0].length]; boolean[] y=new boolean[matrix.length]; for(int i=0;i<y.length;i++){
2020-09-08 14:02:38 86
原创 算法练习(33) leetcode 77. 组合 (二进制数模拟组合、替换法统计字符串某字符在字符串出现次数、字符串反转)
https://leetcode-cn.com/problems/combinations/class Solution { public static void main(String[] args) { new Solution().combine(3,1); } public List<List<Integer>> combine(int n, int k) { List<List<Integer>
2020-09-08 10:43:31 152
原创 算法练习(32) leetcode 53. 最大子序和 (dp动态规划)
https://leetcode-cn.com/problems/maximum-subarray/class Solution { public int maxSubArray(int[] nums) { int[] dp=new int[nums.length]; dp[0]=nums[0]; for (int i=1;i<dp.length;i++){ if (dp[i-1]+nums[i]>nums[i])
2020-09-07 16:03:39 76
原创 算法练习(31) leetcode 55. 跳跃游戏 (贪心算法)
https://leetcode-cn.com/problems/jump-game/class Solution { public boolean canJump(int[] nums) { if (nums.length==1){ return true; } if(nums[0]==0){ return false; } int max=nums[0];
2020-09-07 15:32:36 115
原创 算法练习(30) leetcode 6. Z 字形变换
https://leetcode-cn.com/problems/zigzag-conversion/class Solution { public String convert(String s, int numRows) { if (numRows<=1) { return s; } String[] strings=new String[numRows]; for (int i=0;i<n
2020-09-07 13:49:56 69
原创 算法练习(29) leetcode 5. 最长回文子串 (中心扩散、字符串处理)
https://leetcode-cn.com/problems/longest-palindromic-substring/class Solution {public String longestPalindrome(String s) { String string="#"; int max=1,c = 0,l=0; for(int i=0;i<s.length();i++) { string=string+Cha
2020-09-07 11:23:45 72
原创 算法练习(28) leetcode 347. 前 K 个高频元素 (HashMap按值排序返回key)
https://leetcode-cn.com/problems/top-k-frequent-elements/class Solution { public static void main(String[] args) { new Solution().topKFrequent(new int[]{1, 1, 1, 2, 2, 3},1); } public int[] topKFrequent(int[] nums, int k) { M
2020-09-07 10:16:09 116
原创 算法练习(27) leetcode 50. Pow(x, n)
https://leetcode-cn.com/problems/powx-n/class Solution { public double erfen(double x, long N) { if (N == 0) { return 1.0; } double y = erfen(x, N / 2); return N % 2 == 0 ? y * y : y * y * x; } pu
2020-09-04 14:16:11 93
原创 算法练习(26) leetcode 58. 最后一个单词的长度
https://leetcode-cn.com/problems/length-of-last-word/class Solution { public int lengthOfLastWord(String s) { if(s.length()==0){ return 0; } if (s.length()-1==s.indexOf(' ')){ return s.length()-1;
2020-09-04 14:02:47 58
原创 算法练习(25) leetcode 70. 爬楼梯
https://leetcode-cn.com/problems/climbing-stairs/class Solution {public int climbStairs(int n) { int x=1,y=2,t=0; if (n==1){ return 1; } if (n==2){ return 2; } for (int i=2;i<n;
2020-09-04 13:23:14 74
原创 算法练习(24) leetcode 38. 外观数列
https://leetcode-cn.com/problems/count-and-say/class Solution { public String countAndSay(int n) { if (n==1){ return "1"; } String string="1"; for(int i=1;i<n;i++){ string=say(string);
2020-09-04 09:54:54 78
原创 算法练习(23) leetcode 26. 删除排序数组中的重复项
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/class Solution { public int removeDuplicates(int[] nums) { if(nums.length==0) { return 0; } int num=nums[0],location=1; for (int i=1;i&
2020-09-03 17:31:19 66
原创 算法练习(22) leetcode 28.实现strStr()
https://leetcode-cn.com/problems/implement-strstr/class Solution { public int strStr(String haystack, String needle) { if (needle.equals("") || needle==null||needle.equals(haystack)) { return 0 ; } boolean flag=false
2020-09-03 16:52:52 68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人