草庐IT

single_flag

全部标签

leetcode 540. Single Element in a Sorted Array 有序数组中的单一元素

一、题目大意标签:查找https://leetcode.cn/problems/single-element-in-a-sorted-array给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足O(logn)时间复杂度和O(1)空间复杂度。示例1:输入:nums=[1,1,2,3,3,4,4,8,8]输出:2示例2:输入:nums=[3,3,7,7,10,11,11]输出:10提示:10二、解题思路题目中是有序数组,每个元素出现2次,假设数组索引i是偶数,如果nums[i]==nums[i+1],说明那个

leetcode 540. Single Element in a Sorted Array 有序数组中的单一元素

一、题目大意标签:查找https://leetcode.cn/problems/single-element-in-a-sorted-array给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足O(logn)时间复杂度和O(1)空间复杂度。示例1:输入:nums=[1,1,2,3,3,4,4,8,8]输出:2示例2:输入:nums=[3,3,7,7,10,11,11]输出:10提示:10二、解题思路题目中是有序数组,每个元素出现2次,假设数组索引i是偶数,如果nums[i]==nums[i+1],说明那个

基于Feature Flag的下一代开发模式

渐进式发布(ProgressiveDelivery)被认为是持续发布(ContinousDelivery)的下一代形态,其专注于增强发布过程控制与降低发布风险,最终提高整体收益。国际科技巨头比如Amazon、Google和Netflix等公司每天通过渐进式发布的方式将数千次的功能更新、bug修复等更新到用户环境。快速迭代的同时,避免不了引入一些预期之外的bug。因此需要如何采用合适的工具,在风险与收益之间找到一个很好的平衡点就显得尤为重要。目前持续发布(CD)能够通过一些用户数据、系统监控或者一些核心指标对部署的功能进行监控,当发现问题及时回滚,以此形成一个持续迭代闭环。但是当用户体量非常大的

基于Feature Flag的下一代开发模式

渐进式发布(ProgressiveDelivery)被认为是持续发布(ContinousDelivery)的下一代形态,其专注于增强发布过程控制与降低发布风险,最终提高整体收益。国际科技巨头比如Amazon、Google和Netflix等公司每天通过渐进式发布的方式将数千次的功能更新、bug修复等更新到用户环境。快速迭代的同时,避免不了引入一些预期之外的bug。因此需要如何采用合适的工具,在风险与收益之间找到一个很好的平衡点就显得尤为重要。目前持续发布(CD)能够通过一些用户数据、系统监控或者一些核心指标对部署的功能进行监控,当发现问题及时回滚,以此形成一个持续迭代闭环。但是当用户体量非常大的

Delete Node in the Middle of Singly Linked List

SourceImplementanalgorithmtodeleteanodeinthemiddleofasinglylinkedlist,givenonlyaccesstothatnode.ExampleGiven1->2->3->4,andnode3.return1->2->4题解根据给定的节点并删除这个节点。弄清楚题意很重要,我首先以为是删除链表的中间节点。一般来说删除单向链表中的一个节点需要首先知道节点的前一个节点,改变其指向的下一个节点并删除就可以了。但是从这道题来看无法知道欲删除节点的前一个节点,那么也就是意味着无法改变前一个节点指向的下一个节点,强行删除当前节点将导致非法内存访问

Delete Node in the Middle of Singly Linked List

SourceImplementanalgorithmtodeleteanodeinthemiddleofasinglylinkedlist,givenonlyaccesstothatnode.ExampleGiven1->2->3->4,andnode3.return1->2->4题解根据给定的节点并删除这个节点。弄清楚题意很重要,我首先以为是删除链表的中间节点。一般来说删除单向链表中的一个节点需要首先知道节点的前一个节点,改变其指向的下一个节点并删除就可以了。但是从这道题来看无法知道欲删除节点的前一个节点,那么也就是意味着无法改变前一个节点指向的下一个节点,强行删除当前节点将导致非法内存访问

View 中 flag标记,掩码位运算

一:前言在Android源码中,发现了大量使用使用位运算&|publicvoidsetClickable(booleanclickable){setFlags(clickable?CLICKABLE:0,CLICKABLE);}二.使用掩码位运算保存数据的本质本质:利用二进制位,去保存一些值.例如:boolean值在jvm中占了4个字节,也就是32位,如下图:如果使用二进制位,每位用0/1去保存一个布尔值,那4个字节就可以保存32个布尔值,从而节省内存.1658559590(1).png三.View中flag标记如何保存:例如:初始值如下flags=0//初始值inta=0x10001--->

View 中 flag标记,掩码位运算

一:前言在Android源码中,发现了大量使用使用位运算&|publicvoidsetClickable(booleanclickable){setFlags(clickable?CLICKABLE:0,CLICKABLE);}二.使用掩码位运算保存数据的本质本质:利用二进制位,去保存一些值.例如:boolean值在jvm中占了4个字节,也就是32位,如下图:如果使用二进制位,每位用0/1去保存一个布尔值,那4个字节就可以保存32个布尔值,从而节省内存.1658559590(1).png三.View中flag标记如何保存:例如:初始值如下flags=0//初始值inta=0x10001--->

【微前端】single-spa 到底是个什么鬼

一个需求让我们从一个最小的需求开始说起。有一天产品经理突然说:我们要做一个A页面,我看到隔壁组已经做过这个A页面了,你把它放到我们项目里吧,应该不是很难吧?明天上线吧。此时,产品经理想的是:应该就填一个URL就好吧?再不行,复制粘贴也很快吧。而程序员想的却是:又要看屎山了。又要重构了。又要联调了。测试数据有没有啊?等一下,联调的后端是谁啊?估计这是做大项目时经常遇到的需求了:搬运一个现有的页面。我想大多数人都会选择在自己项目里复制粘贴别人的代码,然后稍微重构一下,再测试环境联调,最后上线。但是,这样就又多了一份代码了,如果别人的页面改了,那么自己项目又要跟着同步修改,再联调,再上线,非常麻烦。

【微前端】single-spa 到底是个什么鬼

一个需求让我们从一个最小的需求开始说起。有一天产品经理突然说:我们要做一个A页面,我看到隔壁组已经做过这个A页面了,你把它放到我们项目里吧,应该不是很难吧?明天上线吧。此时,产品经理想的是:应该就填一个URL就好吧?再不行,复制粘贴也很快吧。而程序员想的却是:又要看屎山了。又要重构了。又要联调了。测试数据有没有啊?等一下,联调的后端是谁啊?估计这是做大项目时经常遇到的需求了:搬运一个现有的页面。我想大多数人都会选择在自己项目里复制粘贴别人的代码,然后稍微重构一下,再测试环境联调,最后上线。但是,这样就又多了一份代码了,如果别人的页面改了,那么自己项目又要跟着同步修改,再联调,再上线,非常麻烦。