自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2021-04-06

作者:Matrix海子    出处:http://www.cnblogs.com/dolphin0520/一、内存模型相关概念由于CPU处理速度比主存读写速度差异很大,大大降低指令执行速度== 出现了CPU高速缓存读取:主存 ==》 高速缓存 ==》 CPU遇上多线程后,出现了缓存不一致现象各个线程都有自己单独的高速缓存,在对主存的读写上,就出现了不一致的情况解决方法:(硬件层面)在总线加LOCK锁 == 阻塞了其他CPU对其他部件的访问(如内存) == 只有一个CPU能访问 ==》问题

2021-04-06 06:08:34 161

原创 数据类型& 变量 & JVM存储

数据类型分为两类:原始数据类型 和 非原始数据类型(引用类型)基本类型:byte short char int long float double boolean数据类型默认值默认占用内存大小booleanfalse1 bitchar‘\u0000’2 bytebyte01 byteshort02 byteint04 bytelong0L8 bytefloat0.0f4 bytedouble0.0d8

2021-04-05 18:05:23 127 3

原创 Day12 Longest Common Prefix(3)

分治递归需要反复理解/** * @Author:lixici * @Date:2020/9/4 22:43 */public class LongestCommonPrefix5 { public String longestCommonPrefix(String[] strs) { if(strs.length == 0){ return ""; } return findCommonPrefix(strs,0,s

2020-09-07 23:40:14 123

原创 Day11 Longest Common Prefix(2)

看了官方解析昨天迷迷糊糊中想到了set,结果更慢了,13ms 40M横向对比(把第一个字符串当做LCP,逐对对比,更新LCP,直到遍历完所有字符串,或者LCP为空时结束)纵向对比Code横向对比1ms 37.8M/** * @Author:lixici * @Date:2020/9/4 22:38 */public class LongestCommonPrefix3 { public String longestCommonPrefix(String[] strs) {

2020-09-04 23:07:00 113

原创 Day10 Longest Common Prefix(1)

初解思路第一反应就是二维数组,纵向对比。关于对比方式,想到了char累加,平均等于第一个数组里的值即可(实际上第一个数组里的值等于平均值的话,就出错了。比如[“b”,“a”,“c”])。乖乖采取挨个对比。结果:11ms 39.9M --------------- (ΩДΩ)再想想吧Code/** * @Author:lixici * @Date:2020/9/3 22:28 */public class LongestCommonPrefix { public String l

2020-09-03 23:20:35 78

原创 Day9 Roman to Integer(2)

看了精选题解把static map换成switch并没有快,还多占用了0.3M内存(可能和用例有关吧)【6ms 40.3M】发现自己中途过度理解题意(出现在前面的负数位,最多只出现一次)其实无所谓是谁出现在谁前面是负数,只要是小的在大的前面,小的就算是负数。发现了彩蛋实现Codea. 去掉了多余的循环判断,保留switch修改了对比前后数字的方法,没必要把数组传过去,按题意也不会出现多次,while换成if结果:5ms 40.2Mimport java.util.HashMap;im

2020-09-02 22:57:22 82

原创 Day8 Roman to Integer(1)

思路特殊情况前后I=1(V=5或X=10)-1?+1{3}X=10(L=50或C=100)-10?+10{3}C=100(D=500或者M=1000)-100?+100{3}从后往前逐字符读取遇到任意字符,累加对应数字特殊情况处理(表格中“前”的情况)判断在前面连续出现几次,加上相应负值,指针迁移相应位遇到 V或者X,判断I遇到 L或者C,判断X遇到 D或者M,判断CCodeimport java.util.HashMap;i

2020-09-01 23:49:46 107

原创 Day7 Palindrome Number

CodeReverse给的启示,又想到了之前看到过 y == x || y == x/10回翻了当时的答案,各种特殊情况都不满足,补充。(还写了一个map版的,更慢)不必要的判断耗费时间?public boolean isPalindrome(int x) { int y = 0; // 1.个位数是回文 if(x>=0 && x<10) return true; // 2.负数不是回文 while(x>0){

2020-08-31 23:10:59 146

原创 Day6 Reverse Integer(2)

Point整型/10 = 0 – 0(除完了)/和%运算是带符号的-21/10 = -221/10 = 2-21%10 = -121%10 = 1Integer.MAX_VALUE(int最大值231-1); Integer.MIN_VALUE(int最小值-231)溢出即时判断,不要放在循环结束数字的pop和pushpop:1234取出最后一位4最后一位 = 1234%10源 = 1234/10push123追加一个4源 = 123 * 1

2020-08-29 23:34:57 76

原创 Day5 Reverse Integer(1)

水了水了,时间不够,勉强凑出一版。(长度为32的数组是来搞笑的,嗯,没错)public int reverse(int x) { int[] arr = new int[32]; long x1 = x; int sign = x1 < 0 ? -1 : 1; x1*=sign; int i = 0; do{ arr[i++] = (int)x1%10; x1/=10; }while(x1>=1);

2020-08-28 23:30:31 75

原创 Day4 TwoSum哈希表(两次遍历和一次遍历)

两次遍历public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> numsMap = new HashMap<Integer,Integer>(); int length = nums.length; for(int i=0;i<length;i++){ numsMap.put(nums[i],i); } for(int i=0;i<l

2020-08-27 22:24:40 197

原创 Day3 排序能不能有助于Two Sum效率呢(简单交换排序)

结合了简单交换排序的 Two Sum。。。 leetcode上超出时间限制也是,本来就是想减少暴力解决中的循环,排序和排除比target大的部分又用了一个for两层嵌套循环和while循环(我到底图个什么)下面仅是简单交换排序(新的Two Sum提交就留在leetcode让我羞愧吧)import java.util.Arrays;/** * @Author:lixici * @Date:2020/08/26 22:41 */public class SwapSort { //

2020-08-26 23:07:29 69

原创 Day2 leetcode - Two Sum引起的hash函数探索

写在前面Two sum引起的学习。暴力解决中发现忘记了如何创建数组查看解决方案,产生了HashMap怎么做到O(1)的疑问特别感谢:“淡腾的枫”的《HashMap中的hash函数》创建一个int数组int[] arr = new int[5];int[] arr = {};HashMap&,|,~,^,>>>Object.hashCodeObject的hashCode方法public native int hashCode();通过阅读方法上的注释,

2020-08-25 23:20:52 84

翻译 Day1 开启Github之旅

Hello World Guides单词列表英文释义time-honored tradition历史悠久的传统code hosting platform代码托管平台version control and collaboration版本控制和协作tutorial教程essentials要领repository仓库spreadsheets电子表格recommend推荐upper right corner右上角avat

2020-08-24 23:18:01 309

原创 Process.On--------在线画图工具(流程图、UI图、脑图等)

要做毕设了,业务关系理有些浆糊,于是要画个流程图,但是呢,不想下载软件,结果就在知乎回答中找到了这个全面而好用的在线画图工具-----Process.On这是注册后的页面,上面的未命名文件是我新建的。用户是分免费和付费的,免费功能包含主要功能了,完全够用,但是付费也不贵。  提供默认的多种模版,还提供其他用户上传的模版。免费用户个人文件数量只

2017-04-18 20:53:14 19763

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除