自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (3)
  • 收藏
  • 关注

原创 kotlin 基础函数

kotlin 可为一级函数//可变长 参数函数fun lenMethod(vararg value: Int){ for (i in value) { println(i) }} var addmethod:(Int,Int)-> Int={number1,number2->number1+number2} var num = addmethod(9,8) 说明: 两个形参,返回值为Int,形参变量名称为number1,number2,

2020-09-16 17:33:56 137

原创 142Linked List Cycle II (Medium)

Linked List Cycle II (Medium)题目描述给定一个链表,如果有环路,找出环路的开始点。 data class ListNode(var `val`: Int){ var next: ListNode? = null } fun detectCycle(head: ListNode?): ListNode? { if (head == null) return null var faster = head .

2020-07-02 11:40:51 174

原创 88Merge Sorted Array(easy)(kotlin)

88. Merge Sorted Array (Easy)题目描述给定两个有序数组,把两个数组合并为一个。输入输出样例输入是两个数组和它们分别的长度 m 和 n。其中第一个数组的长度被延长至 m + n,多出的n 位被 0 填补。题目要求把第二个数组归并到第一个数组上,不需要开辟额外空间 fun merge(nums1: IntArray, m: Int, nums2: IntArray, n: Int): Unit { var pos = m+n-1 //总指针

2020-06-16 19:36:11 215

原创 167. Two Sum II - Input array is sorted (Easy)(kotlin)

167. Two Sum II - Input array is sorted (Easy)(kotlin) var last :Int = numbers.size-1 var start :Int = 0 while (start<last){ if(numbers[start]+numbers[last]==target){

2020-06-16 16:39:08 118

原创 665 Non-decreasing Array (Easy)(kotlin)

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/non-decreasinarray fun checkPossibility(nums: IntArray): Boolea

2020-06-12 13:05:55 143

原创 406. Queue Reconstruction by Height (Medium)(kotlin)

fun reconstructQueue(people: Array<IntArray>): List<IntArray> { //排序 身高从搞到底 Arrays.sort(people) { o1, o2 -> if (o1[0] != o2[0]) -o1[0] + o2[0] else o1[1] - o2[1] } val res: LinkedList<I.

2020-06-11 16:44:28 146

原创 Best Time to Buy and Sell Stock II (Easy)(kotlin)

122. Best Time to Buy and Sell Stock II (Easy) fun maxProfit(prices: IntArray): Int { var profits = 0 //利润 for(i in 0 until prices.size-1){ if(prices[i]<prices[i+1]){ //下一天的值大于今天的值,其中差值既为利润 profits=prices[i

2020-06-10 11:55:39 169

原创 763. Partition Labels (Medium)(kotlin)

Partition Labels (Medium)(kotlin) fun partitionLabels(S: String): List<Int> { var listNumber = arrayListOf<Int>() var stringMap= hashMapOf<Int,Int>() //所有字母最后的坐标存储 for(i in 0 until S.length){

2020-06-09 17:32:57 149

原创 游戏王决斗链接光道

决斗链接光道-- 速攻光道

2020-06-08 16:21:28 2273

原创 452. Minimum Number of Arrows to Burst Balloons (Medium)(kotlin)

452. Minimum Number of Arrows to Burst Balloons (Medium) /** * 452. 用最少数量的箭引爆气球 */ fun findMinArrowShots(points:Array<Array<Int>>):Int { points.sortBy { it[1] } //排序 var size = points.size

2020-06-05 15:31:19 218

原创 605. Can Place Flowers (Easy)(kotlin)

Can Place Flowers (Easy)种花策略 贪心算法class Solution { fun canPlaceFlowers(flowerbed: IntArray, - List itemn: Int): Boolean { var numbs = 0 val asList = flowerbed.asList() var size =flowerbed.size ;

2020-06-04 11:08:55 172

原创 435 Non-overlapping Intervals (Medium)(kotlin)

2020-06-03 13:55:34 118

原创 135 candy(hard) 分配问题

2020-06-02 11:07:31 159

原创 455 Assign Cookies (Easy)

2020-05-28 17:21:16 160 1

转载 Android activity 由底至上进入,由底至下退出

Android activity 由底至上进入,由底至下退出https://www.jianshu.com/p/9b24929cf58e

2020-03-30 17:33:17 817

原创 textview 图文混排dialog setcontentview 前 databinding设置textview html方式

### Android textview 图文混排 TextView textView = dataBinding.message; String html = message+"<img src='image1'/>"; CharSequence charSequence = Html.fromHtml(html, source -> {...

2019-12-12 16:58:53 228

原创 反射获取字段和名称,包括父类,加入TextView utils

package android.support.v7.utils;import android.widget.TextView;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class GetClassFi...

2018-09-26 10:52:31 399

原创 Intent获取所有携带参数

“` java Intent intent = new Intent(); Bundle extras = intent1.getExtras(); Set strings = extras.keySet(); for ( St...

2018-09-17 15:31:07 5368

转载 Java虚拟机volatile

下面就来具体介绍下happens-before原则(先行发生原则):程序次序规则:一个线程内,按照代码顺序,书写在前面的操作先行发生于书写在后面的操作锁定规则:一个unLock操作先行发生于后面对同一个锁额lock操作volatile变量规则:对一个变量的写操作先行发生于后面对这个变量的读操作传递规则:如果操作A先行发生于操作B,而操作B又先行发生于操作C,则可以得出操作A先行发生于操作C线

2017-12-27 09:03:10 214

原创 任意代码添加

硬编码:E8 call E9 jmp 真正要跳转的地址=E8这条指令的下一行地址+X x=真正要跳转的地址-E8这条指令的下一行地址

2017-12-27 09:02:24 293

原创 pe:filebuffer和imagebuffer地址对应

VirtualAddress+misc.VirtualSize>VirtualAddress-ImageBuffer>VirtualAddress找到对应节,在fileBuffer找到对应节,RawData+节偏移

2017-12-16 08:51:27 648

原创 pe节表

doc头lfanew偏移,可以找到标准pe头,标准pe头结束就是可选pe头,可选pe头大小不确定。 怎么找节表:计算可选pe头的大小后,doc+标准pe+可选pe 标准节表内:SizeOfOptionalHeader可选pe头大小 节表:线性结构,多少个,在标准pe头的numberofSection(节)决定有多少个。...#define IMAGE_SIEZOF_SHORT_NA

2017-12-14 10:37:44 532

原创 pe知识

c00005防止内存出错,内核重载:操作系统启动内核.exe文件,重载用peloader启动操作系统的exe filebuffer是直接从硬盘加载到内存 imagebuffer是文件映像,做了内存对齐 imageBuffer 是fileBuffer的拉伸,可以运行啦 imageBase是内存镜像基址。这里的大小不确定。 执行的时候还要做地址转换,把虚拟地址转换成物理地址。 第一节 代码

2017-12-12 21:37:50 455

原创 pe解析

doc头word e_magic “MZ标记”用于判断是否为可执行文件

2017-12-02 14:17:56 248

原创 c 语言

c语言c 替换 编译 链接 硬编码 c 宏是替换 0x21 链接(所有dll 链接时期) c 宏\# define TRUE 1\# define FALSE 0 //编译前替换\# define MAX(A,B) ((A)>(B)?(A)

2017-11-26 15:25:36 217

原创 c 位运算

位运算c:精确控制内存,充分利用cpu

2017-11-25 21:38:28 265

原创 c指针终

指针宽度永远是4,指针可以做+ -,指针可以比较大小,两个指针可以相减,结果除以砍*长度,指针可以指向任何地方。指针只是一个类型。

2017-11-24 21:58:27 372

原创 c指针6

char c =*p1;mov eax,dword ptr[ebp-4]mov cl,byte ptr[eax]mov byte ptr[ebp-20h],clcdcall stdcall fastcallcacall :外平栈,参数反过来printf("%d %d\n",*(p1+0),p1[0]) //三个参数mov ecx,dword ptr[ebp-4]movsx edx,by

2017-11-24 08:50:30 223

原创 标准sql having 别名问题

SQL语句的语法顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY解决。

2017-11-14 20:34:30 920

原创 c指针5

int* arr=[5]={0};arr[0]=(int*)10;arr[1]=(int*)10;arr[2]=(int*)10;arr[3]=(int*)10;arr[4]=(int*)10;int a = 10;mov dword ptr[ebp-4],0Ahint b = 20;mov dword ptr[ebp-8],14hint c = 30;mov

2017-11-14 14:23:46 300

原创 c指针4

int strlen(char* s){ int ret = 0; while(*s!=0){ ret++; s++; } return ret;}指针函数:返回值类型为xxx*的函数。char* strcpy(char* dest,char* src){ char* ret = dest;

2017-11-14 11:05:42 206

原创 指针3

char names[] = "ABCDE"; char names[6] = {"A","B","C","D","E","\0"};printf("%s\n",arr);printf("%s\n",names);结果没有区别%s:打印一个字符串,直到内存为0为止。复习:内存分布图代码区      :代码栈              :参数、局部变量

2017-11-12 21:14:06 173

原创 c指针(二)

char arr[10];char* p = &arr[0];//取数组第一个元素的地址char* p2 = arr;  为什么可以这样写for(int k = 0 ;k printf("%d\n",*(p+k));}char* 做操作的时候只用一个字节,因为数组连续,char数组第一个地址固定,则接下来地址为p+1,p+2...取一个数地址和转值int x

2017-11-07 22:00:53 170

空空如也

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

TA关注的人

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