关于git从本地master分支推送到github上main分支操作
123git initgit remote add origin http://...gitgit branch -m master main 拉去main代码 1git pull origin main 进行推送 12git add . git commit -m '' 如果在这之后直接执行git push origin main,会报错[rejected] master -> main (fetch first)error: failed to push some refs to ‘github ...‘,因为在GitHub上有一条以及push过的记录,而本地没有,我们只要忽略前面的就行了 提交 1git push origin main --force 就可以了。后续提交就可以用正常的git push origin main就可以了 当commit内容不对而我们又需要重新提交时,可以用git commit --amend重新输入提交内容 然后git push origin main --force就可以了
Android危险权限
...
Kotlin高阶函数
Kotlin高阶函数 定义高阶函数 之前的的函数式AP会接受Lambda参数,同样我们也可以自定义一个函数式API,也就是高阶函数。 高阶函数的定义是一个函数接受另一个函数作为他的参数,或者返回值是一个函数,那这个函数就是高阶函数。 那么如何定义一个函数类型呢?基本规则就是:(String, Int) -> Unit。其中(String, Int)表示传的参数类型,如果没有也可以为空,Unit指的是没有返回值,也可以改成String,Int等。 比如我们定义一个num1AndNum2()高阶函数: 1234fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int { val result = operation(num1,num2) return result} num1,num2很好理解就是两个参数,operation: (Int, Int) ->...
Kotlin的lambda函数式编程
lambda函数式编程 lambda表达式结构是:{参数名: 参数类型, 参数名: 参数类型 … -> 函数体}(参数1, 参数2, …) 如我们要找出字符串数组的最长的那个单词,可以写成: 12345678910fun main() { val list = listOf("Apple", "Banana", "Orange", "Pear", "Grape", "Watermelon") var maxLengthFruit = "" for (fruit in list) { if(fruit.length > maxLengthFruit.length) { maxLengthFruit = fruit } } ...
Jetpack学习笔记
Jetpack jetpack是Google推出的新的架构组件库,分为基础,架构,行为,界面4个部分。 ViewModel $\texttt{ViewModel}$可以帮助Activity分担一部分工作,这样就不用让Activity里面的代码看着非常复杂,减少逻辑。并且$\texttt{ViewModel}$的生命周期是要比Activity长的,当手机屏幕旋转时,Activity会经历onPause(),onStop(),onDestroy(),onCreate(),onStart(),onResume()的过程,这中途我们创建的数据就会一同丢失,而$\texttt{ViewModel}$则很好的避免了这一点,他能在旋转时数据不丢失,而只有Activity退出时才会一起退出。 先在build.gradle里面添加: 12implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7"implementation...
Toolbar+DrawerLayout+BottomNavigationView的使用
Toolbar Toolbar相比于自带的标题栏,能有更多的扩展性,更为灵活。 现在res/themes/themes.xml中,把自带的标题栏关闭掉: 1<style name="Theme.MaterialDemo" parent="Theme.MaterialComponents.Light.NoActionBar"> 然后在activity_main.xml里面设置布局: 12345678910111213141516171819202122232425262728<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
[dp+bitset]数的种类
题目大意 给定$n(n\le5\times10^{3})$个整数,问由这些整数通过“加法”操作,可以组成多少种数字? 其中,对于每个数$a_i$,$1\le...
搜索专题
搜索 搜索,常常适用于当我们想不出题目正解时所采取所谓的骗分方法,因为题目很大部分搜索是会过不了$100\%$样例的,但是由于搜索的思维简单和暴力性,我们往往可以较为轻松的骗到很大一部分分数。 dfs(深度优先搜索) DFS 全称是 Depth First Search,中文名是深度优先搜索,是一种用于遍历或搜索树或图的算法。所谓深度优先,就是说每次都尝试向更深的节点走。 该算法讲解时常常与 BFS 并列,但两者除了都能遍历图的连通块以外,用途完全不同,很少有能混用两种算法的情况。 DFS 常常用来指代用递归函数实现的搜索,但实际上两者并不一样。 顾名思义,深度优先搜索就是要我们一层一层的去遍历访问,进行决策直到达到临界条件。 dfs代码和递归类似,但是其思想不一样 123456789#模板void dfs(int x){ if(x == 临界条件)return; if(条件) { dfs(x + 1);//下一步 ...
【Codeforces 312 div2 A】Lala Land and Apple Trees
【Codeforces #312 div2 A】Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有$n$个点,每个点的权值为$a_{i}$,第一次从原点开始走,方向自选(<- or ->),在过程中,若遇到一个权值>0的点,则将此权值计入答案,并归零。当次、此方向上的所有点均为0后,输出此时的答案。 然后,进行分析: 我们很容易想到这是一个贪心,我们将正的和负的分别存入两个数组,最初的方向为: $zhengsum > fusum ? zheng : fu$即正负两边那边权值 > 0的点多就先往哪个方向走,然后,就成模拟题了…… Code: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include<bits/stdc++.h>using namespace std;const int N = 100 + 5;const int M =...