= 1; } return ~mask & ~num; } }; Reference https://leetcode.com/problems/number-complement
题目描述: Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation. Input: 5 Output: 2 Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement Input: 1 Output: 0 Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement
Number Complement 题目大意 给定一个正整数,输出其补数。
版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89175283
2's complement 缘起: 读mma8452q的datasheet的时候找到这样一句话:三个轴的数据,存储为12位2的补码。 OUT_Z_MSB,and OUT_Z_LSB registers as 2’s complement 12-bit numbers.
这里非常简单: def reverse_complement_1(pattern): complement = [] for i in pattern: if i == elif i == 'C': complement.append('G') elif i == 'G': complement.append = "".join(complement) return re_complement 对每个碱基进行判断,并取其互补碱基,最后将得到的列表取反即可。 complement.append('t') elif i == 't': complement.append('a') elif i == 'c .join(complement) return re_complement def reverse_complement_2(pattern): re_pattern = ''
示例数据 AAAACCCGGT 示例结果 ACCGGGTTTT Python 实现 Complementing_a_Strand_of_DNA.py import sys def reverse_complement (dna) == 'ACCGGGTTTT' if __name__ == '__main__': if not test(): print("reverse_complement The reverse complement of a DNA string is the string formed by reversing the symbols of , then taking the complement of each symbol (e.g., the reverse complement of "GTCA" is "TGAC"). Return: The reverse complement of . Sample Dataset AAAACCCGGT Sample Output ACCGGGTTTT ----
反码 It form a negative integers by applying a bitwise NOT i.e. complement of its positive counterparts Twos’ complement 补码 Most of the current architecture adopted this, including x86, MIPS, ARM, etc. It differed with one’s complement by one. by: ~x => 1000 0000 bitwise NOT (like ones’ complement) +1 => 1000 0001 add 1 (the one differed from ones’ complement) Cons: bad named?
map.put(nums[i], i); } for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement) && map.get(complement) ! = i) { return new int[] { i, map.get(complement) }; } } throw new Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement)) { return new int[] {
map0 := make(map[int]struct{}) min := INT_MAX for i := 0; i < len(nums); i++ { complement := target - nums[i] //差值 = 目标值-元素值 if _, ok := map0[complement]; ok { //如果字典里有差值,说明已经找到了 //确保complement是较小的那个值 if complement > nums[i] { complement, nums[i] = nums[i], complement } //谁小保存谁 if complement < min { min = complement //如果最小值是1,就不用循环了。
) == A1 & sapply(B.A2, complement) == A2, SNP] # Now update the bim file bim[SNP %in% com.snps, c("B.A1", "B.A2") := list(sapply(B.A1, complement), sapply(B.A2, (sapply(B.A1, complement), sapply(B.A2, complement))] c.识别需要在目标中重新编码的SNP(以确保目标数据中的编码等位基因是基本摘要统计中的有效等位基因 ) # identify SNPs that need recoding & complement com.recode <- info[sapply(B.A1, complement) == A2 & , c("B.A1", "B.A2") := list(sapply(B.A2, complement), sapply(B.A1, complement))]
map.put(nums[i], i); } for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement) && map.get(complement) ! = i) { return new int[] { i, map.get(complement) }; } } throw
我们遍历数组,对于每个元素 nums[i],计算目标值 complement = target - nums[i]。 然后检查哈希表中是否存在 complement,如果存在则说明找到了答案,返回对应的索引。如果不存在,则将当前元素存入哈希表中。 = new HashMap<>(); // 遍历数组 for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; // 检查哈希表中是否存在 complement if (map.containsKey(complement) ) { // 找到了满足条件的两个数,返回它们的索引 return new int[] { map.get(complement), i
如BE,HAVE SHOULD/COULD等到 auxpass: passive auxiliary 被动词 cc: coordination,并列关系,一般取第一个词 ccomp: clausal complement 组合数字 parataxis: parataxis: parataxis,并列关系 partmod: participial modifier动词形式的修饰 pcomp: prepositional complement (来,近年) 中心语为谓词 comp — 补语 ccomp — 从句补语,一般由两个动词构成,中心语引导后一个动词所在的从句(IP) (出现,纳入) xcomp — x从句补语(xclausal complement ),不存在 acomp — 形容词补语(adjectival complement) tcomp — 时间补语(temporal complement) (遇到,以前) lccomp — 位置补语 (localizer complement) (占,以上) — 结果补语(resultative complement) 中心语为名词 mod — 修饰语(modifier) pass
>(nums.length); //遍历并记录到Map中 for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (tmpMap.containsKey(complement)&&tmpMap.get(complement)! =i){ return new int[]{i,tmpMap.get(complement)}; } tmpMap.put
map.put(nums[i], i); } for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement) && map.get(complement) ! = i) { log.debug("{}", new int[]{i, map.get(complement)}); } }用一个 Map = target - nums[i]; if (map.containsKey(complement)) { log.debug("{}", new int[]{map2.get(complement), i}); } map2.put(nums[i], i); }上面的代码在 HashMap
int { numMap := make(map[int]int) // 用来存储数字对应的索引 for i, num := range nums { // 遍历数组 complement := target - num // 计算当前数字相差的值 if j, ok := numMap[complement]; ok { // 如果存在该值,则说明为满足条件的索引 对于每一个要搜索的数字,做以下操作: 计算目标值与该数字的差值 complement。 在 numMap 中查找该差值 complement 是否存在,如果不存在,保存当前数字及其下标;反之则返回该数字及其对应的索引。 最后,若遍历完了整个数组,仍未找到满足条件的数,则返回 nil。
numIndexMap; // 哈希表,用于存储元素值与对应的索引 for (int i = 0; i < nums.size(); i++) { int complement // 计算目标值与当前元素的差值 // 查找差值在哈希表中是否存在,若存在,则找到了符合条件的两个索引 if (numIndexMap.count(complement ) > 0) { return {numIndexMap[complement], i}; } // 将当前元素及其索引添加到哈希表中 numIndexMap; // 哈希表,用于存储元素值与对应的索引 for (int i = 0; i < nums.size(); i++) { int complement ) > 0) { return {numIndexMap[complement], i}; } // 将当前元素及其索引添加到哈希表中
; i++) { map.put(nums[i], i); } for (int i = 0; i < nums.length; i++) { int complement = target - nums[i]; if (map.containsKey(complement) && map.get(complement) ! = i) { return new int[] { i, map.get(complement) }; } } throw = target - nums[i]; if (map.containsKey(complement)) { return new int[] { map.get(complement), i }; } map.put(nums[i], i); } throw new IllegalArgumentException
设置一个map容器record用来记录元素的值与索引 遍历数组nums 每次遍历时使用临时变量complement用来保存目标值与当前值的差值 在此次遍历中查找record,查看是否有与complement unordered_map<int,int> record; 10 for(int i = 0 ; i < nums.size() ; i ++){ 11 12 int complement = target - nums[i]; 13 if(record.find(complement) ! = record.end()){ 14 int res[] = {i, record[complement]}; 15 return vector